版权声明
- 本文原创作者:清风不渡
- 博客地址:https://blog.csdn.net/WXKKang
一、IN运算符
在SQL中使用IN运算符在WHERE子句中指定多个值,IN运算符就像是多个OR条件的缩写一样,首先我们先来创建一组测试数据,代码如下:
CREATE TABLE student(
s_id varchar(50),
s_name varchar(50),
s_gender varchar(50)
)
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S101','Lucy','female');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S102','Jack','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S103','Bruce','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S104','Tom','male');
INSERT INTO student (s_id,s_name,s_gender) VALUES ('S105','Jayce','male');
1、基础语法
IN运算符的语法如下:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
或者可以将条件限定在某个查询结果集内,如下:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);
但是需要注意的是,小括号内的查询应是查询的一条字段的结果集
2、示例
例如在上面的测试数据中,我们如果需要查找s_id在’S101’,‘S103’,'S105’之内的数据,则可以使用如下语句进行查询:
SELECT * FROM student WHERE s_id IN ('S101','S103','S105');
执行结果如下:
例如下面有一个测试表,存放着优秀学生的姓名,代码如下:
CREATE TABLE test(
t_name varchar(50)
)
INSERT INTO test VALUES('Lucy');
INSERT INTO test VALUES('TOM');
那么如果我们需要查询这两位同学的信息,则可以使用如下代码:
SELECT * FROM student WHERE s_name IN (SELECT t_name FROM test);
执行结果如下: