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', '山东省' );
相关推荐
梦想画家24 分钟前
SQLMesh Python 模型入门(二):依赖管理、引擎实战与内存优化
数据库·python·sqlmesh
Omics Pro34 分钟前
经典多组学整合算法→商用云平台
数据库·人工智能·算法·机器学习·自然语言处理
xcLeigh36 分钟前
【KingbaseES数据库教程】国产化信创背景下的数据库选型与初识
linux·数据库·windows·kes·数据选型
资深技术分享员1 小时前
Geejing WebBuilder 数据库连接配置与在线 SQL 工具,运维的左右手
运维·数据库·sql·低代码
ao-weilai2 小时前
MySQL数据库:表操作
数据库·mysql·adb
宵时待雨2 小时前
MySQL数据库1:数据库基础
服务器·数据库·mysql
做运维的阿瑞2 小时前
一个 NULL 让整列姓名消失?MySQL 字符串与日期函数复盘
数据库·sql·mysql
程序猿乐锅2 小时前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven
phltxy2 小时前
C 语言文件操作:让数据从内存走向持久化
c语言·网络·数据库
阳光九叶草LXGZXJ3 小时前
达梦数据库-学习-69-DM9主备集群部署
linux·运维·服务器·数据库·sql·学习