我有两个表,一个表有一个视频列表,一个有一个必须来自表一的视频列表,我需要从第一个表中选择表二中不存在的行。
以下是表videos
:
VIDEOID | videoname
1 nameone
2 nametwo
3 namethree
此处为表favs
:
VIDEOID | videoname
2 nametwo
选择查询后,输出应该是:
VIDEOID | videoname
1 nameone
3 namethree
可以看出,视频2
被省略了,因为它已经在favs
表中了
我尝试过一些单独的SQL查询,但我一直遇到语法错误,我从来没有做过选择数据但由于另一个表而发出一些数据的SQL查询。应该如何做到这一点?
你在这里的朋友是LEFT JOIN
SELECT videos.*
FROM videos
LEFT JOIN favs ON videos.videoid=favs.videoid
WHERE favs.videoid IS NULL
SELECT ...
FROM videos
WHERE VIDEOID NOT IN (
SELECT VIDEOID
FROM favs
);
select *
from videos
where videoid not in (select videoid from favs)