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', '山东省' );
相关推荐
荒川之神9 分钟前
Oracle HR 模式递归函数练习(基于 employees 表)
数据库·oracle
小陈工18 分钟前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
杨云龙UP42 分钟前
Linux生产环境下Oracle RMAN 备份、核查、清理与验证常用命令整理_20260330
linux·运维·服务器·数据库·oracle
橙子家1 小时前
关于列式存储(Column-base Storage)的几个要点解读
数据库
٩( 'ω' )و2601 小时前
MySQL基础
数据库·mysql
生命不息战斗不止(王子晗)1 小时前
mysql基础语法面试题
java·数据库·mysql
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB应用程序设计知识点梳理(9)
数据库·学习·mongodb
一直都在5722 小时前
Redis (一)
数据库·redis·缓存
字符串str2 小时前
sql的基本技术栈
数据库·sql·oracle
秦jh_2 小时前
【Redis】客户端使用
数据库·redis·缓存