IN 用法

SQL IN 操作符

IN运算符允许您在WHERE子句中指定多个值。

IN运算符是多个OR条件的简写。

SQL 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);

演示数据库

在本教程中,主要是使用Mysql数据库,虽然和其他数据有一定的差异,不影响对SQL语法的讲解。

相应的脚本请查看上一篇文章:开始前准备环境


以下是 "member" 表中的数据:

member_idmember_codepasswordnick_nameremarkslocationstatus
101010001112331张三xxx广东1
101110002112333李四xxx北京1
1012100031234567王五xxx广东1
101310004112335张飞xxx广东1
101410005112336关习xxx上海1
101510006112337关平xxx湖南1
101610007112338小李xxx广东1
101710008112339韩飞xxx深圳1
101810009112310刘备xxx三国1
101910010112312吴越xxx广西1
102010011112312韩信xxx南京1
102110012112331张包xxx广东1

IN 操作符实例

例子1

以下SQL语句选择location位于“湖南”,“上海”和“广西”的所有会员:

代码示例:

SELECT * FROM member
WHERE location IN ('湖南', '上海', '广西');

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101410005112336关习www.jhelp.net上海1
101510006112337关平www.jhelp.net湖南1
101910010112312吴越www.jhelp.net广西1

例子2:

以下SQL语句选择location不在“湖南”,“上海”和“广西”中的所有会员:

代码示例:

SELECT * FROM member
WHERE location NOT IN ('湖南', '上海', '广西');

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101010001112331张三www.jhelp.net广东1
101110002112333李四www.jhelp.net北京1
101210003abc123www.jhelp.netwww.jhelp.net广东1
101310004112335张飞www.jhelp.net广东1
101610007112338小李www.jhelp.net广东1
101710008112339韩飞www.jhelp.net深圳1
101810009112310刘备www.jhelp.net三国1
102010011112312韩信www.jhelp.net南京1
102110012112331张包www.jhelp.net广东1
1022100110112355新添加www.jhelp.net北京1
1023100111112355333新添加2www.jhelp.net北京

例子3:

在IN中使用子查询。

以下SQL语句选择来有购买行为的所有会员:

代码示例:

SELECT * FROM member
WHERE member_id IN (SELECT member_id FROM order);
腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/ydsx6uldh8L2VlvB (转载请保留)。
关注下面的标签,发现更多相似文章