作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有两张 table 。
表一:
ID COLOR
1 white
2 red
3 black
4 blue
5 yellow
表二:
ID COLOR
1 white
2 white
3 red
4 black
输出应该是:
1 white
2 red
3 black
(排除第二个表中不存在的 2 个值 - 蓝色和黄色 + 排除第二个白色)。
我尝试了不同的 JOIN 和 EXIST 查询,但没有成功。谢谢。
最佳答案
where exists
适用于此。
select *
from t1
where exists
(select 1
from t2 where color = t1.color);
子查询是一个相关子查询(因为它引用来自另一个查询的值),因此它针对外部查询的每一行执行。所以所有内部查询需要做的就是检查外部查询(和第一个表)的颜色是否存在于第二个表中。
关于mysql - 仅当存在于另一个表中时才从表中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158126/
我是一名优秀的程序员,十分优秀!