我想运行一个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;