我试图从特定的表中获取id,除了来自另一个表的那些ID,它不起作用:
SELECT id FROM table1
EXCEPT
SELECT id FROM table2
答案 0 :(得分:5)
你可以试试这个:
SELECT id FROM table1
where id not in (SELECT id FROM table2)
MYSQL不支持EXCEPT
答案 1 :(得分:1)
我认为mysql不支持EXCEPT。而是尝试这种方式:
SELECT t1.id
FROM table1 t1
WHERE NOT EXISTS
( SELECT 0
FROM table2 t2
WHERE t2.id = t1.id )
答案 2 :(得分:1)
使用Not IN
SELECT `id` FROM `table1`
WHERE `id` NOT IN (SELECT `id` FROM `table2`);
有关详细信息,请查看 MySQL NOT IN() function。
您也可以使用Left Join
。
答案 3 :(得分:0)
答案 4 :(得分:0)
您可以使用Left Join
,如下所示:
SELECT t1.id
FROM table1 AS t1 LEFT JOIN table2 AS t2
ON t1.id = t2.id
WHERE t2.id IS NULL
有关更多信息,您可以转到MySQL MINUS (or Except)