php - 从表中选择行但排除已在另一个表中具有 ID 的行

标签 php mysql sql select

我有两个表,一个表有一个视频列表,一个表有一个必须来自表一的视频列表,我需要从第一个表中选择表二中不存在的行。

继承表视频:

VIDEOID    |    videoname
   1             nameone
   2             nametwo
   3             namethree

这里是表 favs:

VIDEOID    |    videoname
   2             nametwo

选择查询后,输出应该是:

VIDEOID    |    videoname
   1              nameone
   3              namethree

可以看出,视频2被省略了,因为它已经在表favs

我已经尝试了几个单独的 SQL 查询,但我不断收到语法错误,我从未执行过选择数据但由于另一个表而发出一些数据的 SQL 查询,应该如何完成?

最佳答案

你的 friend 是LEFT JOIN

SELECT videos.* 
FROM videos 
    LEFT JOIN favs ON videos.videoid=favs.videoid
WHERE favs.videoid IS NULL

关于php - 从表中选择行但排除已在另一个表中具有 ID 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741891/

相关文章:

sql - 是否可以通过 ping 网站获得一些有用的信息?

php - laravel 助手在 Controller 中不起作用

php - 存储和排序图像

python - 错误 1064 (4200) - 当我在 MySQL 中输入 GRANT ALL 请求时

php - 为什么 MySQL 不返回最后插入的 id,它返回 0?

sql - 如何在oracle中选择不同的记录?

php - 如何从数据库中回显回车符和撇号?

php - 将类 php 5.6 降级到 5.5

php - undefined variable : query_params

sql - sqlite 中的 last_insert_rowid - 两个表