【发布时间】:2016-07-05 15:53:11
【问题描述】:
假设我有 3 张桌子:
CREATE TABLE animals
(
animal_id INT PRIMARY KEY,
animal_name VARCHAR(100)
);
CREATE TABLE zoos
(
zoo_id INT PRIMARY KEY,
zoo_name VARCHAR(100)
);
CREATE TABLE zoo_has_animals
(
zoo_id INT,
animal_id INT
);
我需要弄清所有空荡荡的动物园。我尝试使用下一个脚本加入他们:
SELECT zoos.zoo_name
FROM zoos
LEFT JOIN zoo_has_animals ON zoos.zoo_id = zoo_has_animals.zoo_id;
但它返回所有非空动物园而不是所需的空动物园。我做错了什么?
【问题讨论】:
-
这适用于哪个 RDBMS?请添加标签以指定您使用的是
mysql、postgresql、sql-server、oracle还是db2- 或其他完全不同的东西。 -
你想要一个 OUTER LEFT JOIN。我总是参考this diagram,希望对您有所帮助。
-
@marc_s 这是给
MySQL的。 -
无论您使用什么平台,都可以查找
IS NULL的概念。 -
@Aaron 他已经在使用
LEFT JOIN...
标签: mysql