我试图在MySQL数据库中的phpMyAdmin中运行SQL查询,以获取在另一个表中没有相应记录的记录.
例如
**album**
id, name
**track**
id, album_id, name
Run Code Online (Sandbox Code Playgroud)
我需要所有没有相对曲目记录的专辑记录.
我试过了
SELECT album.id
from album
WHERE album.id NOT IN (
SELECT track.album_id
FROM track
WHERE 1
GROUP BY track.album_id
)
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这会导致MySQL服务崩溃
我也试过了
SELECT a.id FROM album a
INNER JOIN track t
ON a.id = t.album_id
WHERE t.id IS NULL
Run Code Online (Sandbox Code Playgroud)
但这不能按预期工作(不返回结果)
Jer*_*emy 15
您可以使用EXISTS检查相关表中是否缺少记录.
SELECT album.id
FROM album
WHERE NOT EXISTS (
SELECT *
FROM track
WHERE track.album_id = album.id
);
Run Code Online (Sandbox Code Playgroud)
请参阅:http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html
Zdr*_*nev 14
SELECT a.id
FROM album a
LEFT JOIN track t ON a.id = t.album_id
WHERE t.id IS NULL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11701 次 |
| 最近记录: |