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