假设我有3个表:SQL:如何连接表的权利?
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。我总是参考[此图](http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg),希望它有帮助。 – Aaron
@marc_s这是'MySQL'。 – Alex