SQL WHERE IN子句的用法
SQL的WHERE IN子句用于检索一个值是否在一个列表中。它的语法如下:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);
其中,column_name是要检索的列,table_name是要检索的表,value1,value2,…是要检索的值。
多个值的处理
当要检索的值有多个时,可以使用逗号分隔,如:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, value3);
也可以使用SELECT子句的SELECT子句,如:
SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT column_name FROM table_name WHERE condition);
上面的语句中,外部的SELECT语句会根据内部SELECT语句的结果检索列值。
实例
下面是一个实例,它检索customers表中country列的值是Germany,France或UK的所有记录:
SELECT * FROM customers WHERE country IN ('Germany', 'France', 'UK');
下面是另一个实例,它检索customers表中country列的值是orders表中country列的值的所有记录:
SELECT * FROM customers WHERE country IN (SELECT country FROM orders);