SQL研习录(10)——IN运算符

SQL研习录(10)——IN运算符


版权声明

  • 本文原创作者:清风不渡
  • 博客地址: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);

  执行结果如下:
在这里插入图片描述

发布了81 篇原创文章 · 获赞 36 · 访问量 3359

猜你喜欢

转载自blog.csdn.net/WXKKang/article/details/103779798
今日推荐