mysql - sql选择在第二个表中没有关系的记录

标签 mysql sql

我试图在 MySQL 数据库的 phpMyAdmin 中运行 SQL 查询,以获取在另一个表中没有相应记录的记录。

例如

**album**
id, name

**track**
id, album_id, name

我需要所有没有相关轨道的专辑记录。

我试过了

SELECT album.id
from album 
WHERE album.id NOT IN (
  SELECT track.album_id 
  FROM track 
  WHERE 1
  GROUP BY track.album_id
)

但不幸的是,这会导致 MySQL 服务崩溃

我也试过

SELECT a.id FROM album a
INNER JOIN track t
ON a.id = t.album_id
WHERE t.id IS NULL

但这并不像预期的那样工作(不返回任何结果)

最佳答案

SELECT a.id 
FROM album a
LEFT JOIN track t ON a.id = t.album_id
WHERE t.id IS NULL

关于mysql - sql选择在第二个表中没有关系的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621227/

相关文章:

sql - 如何为多语言列创建全文索引?

c# - 内存数据库中的 SqlLite : CREATE TABLE does not work?

sql - 交叉表转置查询请求

mysql - SQL自动增量id具有重复值和多列主键?

php - 复选框 "checked"值与 session 和数据库值冲突 PHP

php - Laravel 5.5 试图获取非对象的属性 'id'

Mysql select 查询无法正常工作

Sql Server 2008 - 将本地化日期时间列转换为 UTC

mysql - 匹配的行和更改的行之间的差异

mysql CONCAT 在哪里之后?