GaussDB in的用法

1 in的作用

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

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

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

3 in使用举证

以下SQL 语句选择省份位于"上海市","北京市"和"广东省"的所有客户:

代码示例:

复制代码
 SELECT * FROM customers WHERE province IN ('上海市', '北京市', '广东省');

结果:

可以看到省份那一列都是in 里面的数据

以下SQL 语句选择不在"浙江省","上海市"或"北京市"中的所有客户:

代码示例:

复制代码
select * from customers where province not in ('浙江省', '上海市', '北京市');

结果:

可以看到省份那一列排除了in 里面的那些数据,因为这里是 not ,就是排除的意思。

以下SQL 语句选择来自同一城市的所有客户作为供应商 ";

复制代码
select * from customers where city in (select city from suppliers);

结果:

我们看到,供应商suppliers 表里只有城市为上海,才与客户 customers 表里城市

也为上海的数据能对应上。所以这里 in 的作用是取两个表都有的数据才会被查询

出来。

4 批注

in的作用就是将需要查找的内容列出来放在后面的括号里,也可以将子查询的结果放在括号内,这样in就只找符合括号里的内容,从而起到筛选的作用。另外in里面可以放多种数据类型,常见的包括日期,字符,数值等类型。

5 验证数据

供应商表的数据:

复制代码
create table suppliers(
    id int   not null,
    name varchar(20)  null,
    addr varchar(50)  null,
    city varchar(20)  null,
    zip char(6) null,
    province varchar(20) null
) ;

INSERT INTO Suppliers(id,name,addr,city,zip,province)
VALUES
( 1, '沃尔玛', '北京路35号', '上海', '200000', '上海市' ), 
( 2, '家乐福', '玄武街28号', '南京', '210000', '江苏省' ), 
( 3, '永旺超市', '花城大道21号', '广州', '710000', '广东省' ),
( 4, '宋江超市', '梁山路1号', '济南', '250000', '山东省' );
相关推荐
证榜样呀12 分钟前
2026 中专大数据技术专业可考的证书有哪些,必看!
大数据·sql
Codefengfeng20 分钟前
数据安全知识点速通
sql
自不量力的A同学31 分钟前
Redisson 4.2.0 发布,官方推荐的 Redis 客户端
数据库·redis·缓存
Exquisite.34 分钟前
Mysql
数据库·mysql
全栈前端老曹1 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
阿钱真强道1 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议
逍遥德2 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
笨蛋不要掉眼泪2 小时前
Redis哨兵机制全解析:原理、配置与实战故障转移演示
java·数据库·redis·缓存·bootstrap