除了不在mysql中工作?

时间:2015-03-23 12:08:10

标签: mysql

我试图从特定的表中获取id,除了来自另一个表的那些ID,它不起作用:

SELECT id FROM table1 
EXCEPT 
SELECT id FROM table2

5 个答案:

答案 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)

没有关键字'除了'在mysql中。

请参阅:Error when using except in a query

使用not inexists

的备用方式

答案 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)