如何在MySQL中完成这项工作
select (3,5) not in (5,9,8);
它应该返回0,因为5在(5,9,8)中。
提前致谢。
答案 0 :(得分:0)
检查"一列中是否有任何值"存在于"另一列" "另一张桌"。
使用EXISTS
SELECT
one_column
FROM one_table t1
WHERE EXISTS (
SELECT NULL
FROM another_table t2
WHERE t1.one_column = t2.another_column
)
;
请注意,在上面的示例中,子查询select子句不需要返回任何值,因为"检查是否存在"发生在该子查询的where子句中。然而,正确的语法需要一个select子句,但实际上它只是装饰性的(所以"选择1"或者"选择*"可以用来代替"选择null& #34;。)
使用IN()
SELECT
one_column
FROM one_table
WHERE one_column IN (
SELECT another_column
FROM another_table
)
;
此子查询中的select子句必须返回值以进行比较。如果使用IN(),请注意返回NULL。