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', '山东省' );