1

我的数据库有,

mysql> select * from peeps;
+-------+
| name  |
+-------+
| tom   |
| dick  |
| harry |
+-------+

我想编写一个 sql 语句来返回不在该表中的用户的结果集。

sql ????  where name in ( 'dave', 'tom')

我想要一个返回“dave”的结果集。答案不能返回“哈利”。我不热衷于创建一个新的临时表,这可以不在一个语句中。

谢谢!

4

1 回答 1

2

像这样的东西对你有用吗?它dave按要求返回。

SELECT a.name
FROM
    (SELECT 'dave' AS name
    UNION ALL
    SELECT 'tom' AS name) a
LEFT JOIN peeps b ON b.name = a.name
WHERE b.name IS NULL

结果

| 姓名 |
--------
| 戴夫 |

SQL小提琴

于 2013-01-10T19:27:46.727 回答