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', '山东省' );
相关推荐
flypwn20 分钟前
TFCCTF 2025 WebLess题解
服务器·前端·数据库
n***i9528 分钟前
云原生数据库使用体验,与传统数据库差异
数据库·云原生
理想三旬7 小时前
关系数据库
数据库
无心水9 小时前
【分布式利器:RocketMQ】2、RocketMQ消息重复?3种幂等方案,彻底解决重复消费(附代码实操)
网络·数据库·rocketmq·java面试·消息幂等·重复消费·分布式利器
q***985210 小时前
基于人脸识别和 MySQL 的考勤管理系统实现
数据库·mysql
l1t10 小时前
用SQL求解advent of code 2024年23题
数据库·sql·算法
办公解码器11 小时前
Excel工作表打开一次后自动销毁文件,回收站中都找不到
数据库·excel
DO_Community11 小时前
基于AI Agent模板:快速生成 SQL 测试数据
人工智能·python·sql·ai·llm·ai编程
爬山算法12 小时前
Redis(127)Redis的内部数据结构是什么?
数据结构·数据库·redis
应用市场12 小时前
Qt QTreeView深度解析:从原理到实战应用
开发语言·数据库·qt