2

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

SELECT * FROM $photos;

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

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

我在这里的方向是否正确,INNER join 有点令人困惑

4

2 回答 2

0

以下是使用 a 的方法LEFT JOIN,它往往比 快得多NOT IN

SELECT * FROM $photos
LEFT JOIN $slugs ON $photos.slugs = $slugs.slugs
WHERE $slugs.slugs IS NULL;
于 2013-10-03T19:17:30.673 回答
0

是的,您正朝着正确的方向前进,但我认为您可以更好地使用左连接而不是使用where子句。

试试这样: -

SELECT * FROM $photos LEFT JOIN $slugs ON $photos.slugs = $slugs.slugs
WHERE $photos.slugs IS NULL;
于 2013-10-03T19:09:33.107 回答