繁体   English   中英

MySQL语法查询可一次检查多个值

[英]MySQL syntax query for checking multiple values at once

如何在MySQL中进行这项工作

select (3,5) not in (5,9,8);

它应该返回0,因为5在(5,9,8)中。

提前致谢。

检查“另一个表”的“另一个列”中是否存在“一个列”中的任何值。

使用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子句中会出现“检查是否存在”。 但是,对于正确的语法,需要选择子句,但实际上它只是装饰性的(因此可以使用“选择1”或“选择*”代替“选择null”)。

使用IN()

SELECT
      one_column
FROM one_table
WHERE one_column IN (
      SELECT another_column
      FROM another_table
      )
;

此子查询中的select子句确实必须返回值以进行比较。 使用IN()时,请小心不要返回NULL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM