从TABLE_B中选择不存在于TABLE_B MySQL中的slugs

时间:2013-10-03 19:05:33

标签: mysql

我有以下用PHP编写的mySQL代码

SELECT * FROM $photos;

然后我有一些代码将照片slug添加到数据库中的表2中。照片表可以变大,所以我希望上面的SELECT只选择尚未添加照片的照片。没有时间戳或任何可以工作的东西,比如

SELECT * FROM $photos INNER JOIN $slugs WHERE $photos. 'slugs' <> $slugs . 'slugs'

我在这里朝着正确的方向前进,INNER加入有点令人困惑

2 个答案:

答案 0 :(得分:0)

是的,你正朝着正确的方向前进,但我认为你可以更好地使用 Left Join ,而不是使用where条款。

试试这样: -

SELECT * FROM $photos LEFT JOIN $slugs ON $photos.slugs = $slugs.slugs
WHERE $photos.slugs IS NULL;

答案 1 :(得分:0)

以下是如何使用LEFT JOIN进行操作,NOT IN往往比SELECT * FROM $photos LEFT JOIN $slugs ON $photos.slugs = $slugs.slugs WHERE $slugs.slugs IS NULL; 快得多:

{{1}}