SQL:选择不
回答
SELECT * FROM table1 t1
WHERE NOT EXISTS(
SELECT *
FROM table2 t2
Where t1.Id = t2.t1Id);
OP确实特别要求一种方法使用JOIN – 2010-08-12 13:12:56
@Mark,ops,错过了:( – 2010-08-12 13:19:30
这似乎是一个毫无意义的规范,例如他们可以说,“重写以下内容查询时不使用字母'u'“,你会得到积分;) – onedaywhen 2010-08-12 14:29:26
SELECT *
FROM table1 t1
left outer join table2 t2 on t1.id=t2.id
where t2.id is null
你很快!打我。 – Nix 2010-08-12 12:50:34
非常感谢!但我不明白这个逻辑,为什么要使用“on t1.id = t2.id”?我们正在查找t1中未在t2中引用的行,并且您告诉它将加入t1.id = t2.id,这意味着它将在t2中引用的行上进行联接......对我来说,它看起来不合逻辑 也,我注意到,没有“外部”相同的查询工作原理是一样.. SELECT * FROM 表1 T1 左连接表2 T2上t1.id = t2.id 其中t2.id为空 – Muhammad 2010-08-12 13:00:31
@Muhammand - 中'left outer join'语法意味着即使t2的连接条件失败,t1的行也会被返回,并且'where t2.id为null'将过滤出连接条件失败的所有行,如在这些情况下, t2.id将被映射为空。 – 2010-08-12 13:03:23
- 1. SQL不选择
- 2. SQL - 选择不同
- 3. 选择选择SQL
- 4. 选择DateTime不在SQL
- 5. SQL选择不同的栏
- 6. SQL和选择不含
- 7. 选择行其不在SQL
- 8. SQL选择不同的值
- 9. SQL - 选择内选择
- 10. SQL在选择中选择
- 11. Sql筛选选择
- 12. SQL选择表
- 13. SQL表选择
- 14. SQL - 选择+ MAx()
- 15. SQL选择值
- 16. SQL选择?
- 17. 选择SQL表
- 18. SQL选择VARCHAR
- 19. 选择列SQL
- 20. PHP,SQL选择
- 21. SQL,选择表
- 22. SQL:与选择
- 23. 在SQL选择
- 24. 从SQL选择
- 25. SQL选择
- 26. 选择在SQL
- 27. 选择SUM()SQL
- 28. SQL选择CTE
- 29. SQL - 选择BY
- 30. 选择在SQL
听起来像功课改写下面的查询! – JNK 2010-08-12 12:49:07
不是不是,我只是好奇:) – Muhammad 2010-08-12 13:03:39