我想运行 mysql 查询以从表中选择所有行,films
其中title
列的值在另一列的所有值中不存在任何位置(collection
)。
这是我的表格的简化版本,内容如下:
mysql> select * from films;
+----+--------------+--------------+
| id | title | collection |
+----+--------------+--------------+
| 1 | Collection 1 | NULL |
| 2 | Film 1 | NULL |
| 3 | Film 2 | Collection 1 |
+----+--------------+--------------+
这是我的查询:
mysql> SELECT * FROM films WHERE title NOT IN (SELECT collection FROM films);
Empty set (0.00 sec)
在此示例中,我想选择带有标题Film 1
和的行Film 2
,但我的查询没有返回任何行。
这是表结构:
CREATE TABLE `films` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL DEFAULT '',
`collection` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;