Sale中有很多行,SalesProcessed中有一行.
SELECT * FROM Sale
INNER JOIN SalesProcessed
ON Sale.id<>SalesProcessed.id
LIMIT 0,30
Run Code Online (Sandbox Code Playgroud)
此代码返回id在SalesProcessed中的同一行.为什么?
实际上我需要销售行,而SalesProcessed中不存在ID.
Joe*_*lli 10
SELECT *
FROM Sale
LEFT JOIN SalesProcessed
ON Sale.id = SalesProcessed.id
WHERE SalesProcessed.id IS NULL
LIMIT 0,30
Run Code Online (Sandbox Code Playgroud)
另一种方法
SELECT * FROM Sale
where Sale.id not in (select SalesProcessed.id from SalesProcessed)
LIMIT 0,30
SELECT * FROM Sale
where NOT EXISTS (
select SalesProcessed.id from SalesProcessed where Sale.id=SalesProcessed.id)
LIMIT 0,30
Run Code Online (Sandbox Code Playgroud)
您应该使用解释检查每个查询以获得最佳结果
如果你想要不存在的行,那是错误的查询:
SELECT *
FROM Sale
LEFT JOIN SalesProcessed
ON Sale.ID = SalesProcessed.id
WHERE SalesProcessed.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11042 次 |
| 最近记录: |