我最近看到有人发布这个作为SO查询问题答案的一部分:
SELECT DISTINCT a, b, c
FROM t1
WHERE (a,b,c) NOT IN
( SELECT DISTINCT a,b,c FROM t2 )
Run Code Online (Sandbox Code Playgroud)
我有点困惑,因为我一直认为你不能使用多列"NOT IN"(" where(a,b,c) "等).这是正确的SQL语法吗?那MySQL怎么样?
谷歌搜索表明它可以在某些数据库上运行,但不能在其他数据库上运行。您可以改用以下方法:
SELECT DISTINCT a, b, c
FROM t1
WHERE NOT EXISTS
(SELECT 1 FROM t2
WHERE t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10026 次 |
| 最近记录: |