我很欣赏这对你们来说可能非常简单,但有时候JOIN背后的逻辑对初学者来说可能很难。我想从table1中选择“ID”,但只选择那些不在table2中出现的“ID”,“ID”。我测试了左和右,但无法按照我需要的方式工作。我正在使用dashDB。JOIN和SELECT值不包含在表2中
回答
您可以使用NOT IN和子查询
Select * from table1 where id NOT IN (select id from table2);
你在开玩笑吗?那简单?我觉得自己像个笨蛋。谢谢@Kugutsumen –
请注意,如果table2的id为NULL,则不会返回任何行。 – jarlh
@jarlh谢谢你,这是一个很好的观点。幸运的是在这种特殊情况下是不可能的,但是还是谢谢 –
试试这个...
SELECT *
FROM table1
LEFT JOIN table2 ON table1.ID = table2.ID
WHERE table2.ID IS NULL
是的,那也行得通。谢谢 –
使用下面的脚本。
SELECT t1.ID
FROM table1 t1
LEFT JOIN table2 t2 ON t1.ID = t2.ID
WHERE t2.ID IS NULL
我总是喜欢NOT EXISTS
做到这一点
Select * from table1 a
where NOT EXISTS (select 1 from table2 b where a.id = b.id);
下面是阿龙贝特朗一个优秀的文章来比较的所有方法的性能
Should I use NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT, or NOT EXISTS?
又一个选项:)谢谢@Prdp –
@MikePala - 检查更新它是一篇有用的文章。但是它特定于'SQL SERVER' –
- 1. SQL SELECT 2表包含2列
- 2. 如何在JOIN中包含额外的select语句? PHP - MySQL的
- 3. 如何包含另一个表中JOIN
- 4. 在select ngOptions中包含ngShow
- 5. 包含空值在MySQL SELECT结果
- 6. 执行INNER JOIN只有被连接的表中包含的值
- 7. 检查表是否包含值将不起作用(SELECT COUNT)
- 8. 如何使用SELECT和JOIN语句中的ID包含我的ID?
- 9. “”.join(list)如果列表在python中包含嵌套列表?
- 10. 在C++中SQLite SELECT JOIN和VIEWS
- 11. MYSQLI两个表SELECT和JOIN命令
- 12. 如何在同一时间使用COALESCE和JOIN并在MySQL中包含NULL值?
- 13. SELECT其中组包含来自另一个表的值
- 14. Mysql查询:INNER JOIN和SELECT *表示任何表不为空
- 15. 包含在SELECT语句
- 16. 您可以使用select-2在下拉列表中包含输入字段吗?
- 17. MySQL Select JOIN多个表
- 18. JOIN对可能包含NULL
- 19. MySQL的SELECT JOIN和GROUP BY
- 20. MySQL的SELECT INNER JOIN和LIKE
- 21. 用LEFT JOIN和GROUP BY COUNT(*)在MySQL中包含NULL
- 22. 在其他表中列表中不包含特定值的行
- 23. 在SQL中执行包含select语句
- 24. 在SELECT中包含实际上不在数据库中的列
- 25. SQL SELECT当子表包含零行
- 26. ColdFusion SELECT通过表单中的INNER JOIN
- 27. 如何在sqlplus中创建包含平均值的select语句
- 28. JCombobox在表中包含枚举值
- 29. Yii2〜SQL JOIN表2
- 30. JOIN问题2表
让我们看看你的左连接尝试。 – jarlh
你应该发布你的查询以及.. – Bharat
你好,我不熟悉dashDB,但请看看http://stackoverflow.com/questions/20602826/sql-server-need-join-but-where-not - 等于 – Laazo