我有一个字符串列表,我想只看到数据库中不的字符串。
例如我有这个字符串:数据库中的“Conducteur(trice)de bus”:
所以,如果我这样做:
mysql> select * from job where description = "Conducteur(trice) de bus";
+-------+--------------------------+
| id | description |
+-------+--------------------------+
| 14495 | Conducteur(trice) de bus |
+-------+--------------------------+
1 row in set (0.00 sec)
mysql>
现在如果作业“Cinéaste”不存在:
mysql> select * from job where description = "Cinéaste";
Empty set (0.00 sec)
mysql>
但我希望完全相反,即如果字符串在这里我不希望显示结果,如果它不在这里,我想要显示字符串。
以下是我之前解释的相同字符串的内容:
mysql> select * from job [clause i don't know] "Conducteur(trice) de bus";
Empty set (0.00 sec)
mysql>
mysql> select * from job [clause i don't know] "Cinéaste";
+-------------+
| description |
+-------------+
| Cinéaste |
+-------------+
mysql>
所以当找到记录时,没有显示任何内容,当找不到时,会显示我正在寻找的字符串。
知道如何使用MySQL进行此类查询吗?
答案 0 :(得分:2)
修改:尝试
SELECT 'Cinéaste' AS 'description' FROM `job` WHERE NOT EXISTS
(SELECT * FROM `job` WHERE description = 'Cinéaste')
LIMIT 1
答案 1 :(得分:2)
您应该创建一个表(可以是临时表),其中包含要检查的字符串列表,每行一个。让我们考虑创建一个名为check
的表,其中包含要包含要检查的值的列description
。然后你可以使用这个查询:
SELECT description
FROM check
WHERE description NOT IN (
SELECT DISTINCT description FROM metier
);