为此构建SQL查询

时间:2011-06-20 23:35:39

标签: mysql

我正在尝试执行以下操作,但我没有足够的MySQL经验。有人可以告诉我对此的查询是什么。

我有一个带2个表的数据库

  • 简要
  • 信息

BriefInfo有各种字段,但我只对 ID 字段感兴趣。

这就是我想要做的。

  

我想浏览所有 ID   简短并与他们交叉引用   信息和中存在的所有 ID   只获得存在于Info 中的那些   但不存在于简短

由于

3 个答案:

答案 0 :(得分:4)

SELECT i.ID
FROM Info i 
  LEFT JOIN Brief b USING(ID)
WHERE b.ID IS NULL

可替换地:

SELECT i.ID
FROM Info i
WHERE NOT EXISTS (
  SELECT 1
  FROM Brief b
  WHERE b.ID = i.ID
)

请参阅以下2个链接进行性能比较:

答案 1 :(得分:1)

SELECT ID FROM INFO 
   WHERE ID NOT IN 
   (SELECT ID FROM BRIEF);

答案 2 :(得分:1)

SELECT * from info i LEFT JOIN brief b ON b.id = i.id WHERE b.id IS NULL