IN
假如您已经确定希望返回的确切的值至少属于列中之一,那么可以使用操作符 IN。
SELECT 列名称 FROM 表名称 WHERE 列名称 IN
(值1,值2,..);
原始的表 (在实例中使用:)
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Nordmann | Anna | Neset 18 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
Svendson | Tove | Borgvn 23 | Sandnes |
实例 1
如需显示名字是 "Hansen" 或者 "Pettersen" 的人,请使用下面的SQL:
SELECT * FROM Persons WHERE LastName IN
('Hansen','Pettersen');
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
BETWEEN ... AND
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
语法:
SELECT 列名称 FROM 表名称 WHERE 列名称BETWEEN
值1AND
值2;
原始的表 (在实例中使用:)
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Nordmann | Anna | Neset 18 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
Svendson | Tove | Borgvn 23 | Sandnes |
实例 1
如需以字母顺序显示介于 "Hansen"(包括)和 "Pettersen"(不包括)之间的人,请使用下面的 SQL:
SELECT * FROM Persons WHERE LastNameBETWEEN
'Hansen'AND
'Pettersen';
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Nordmann | Anna | Neset 18 | Sandnes |
重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Hansen" 和 "Pettersen" 之间的人,但不包括 "Hansen" 和 "Pettersen" ;某些数据库会列出介于 "Hansen" 和 "Pettersen" 之间并包括 "Hansen" 和 "Pettersen" 的人;而另一些数据库会列出介于 "Hansen" 和 "Pettersen" 之间的人,包括 "Hansen" ,但不包括 "Pettersen" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
实例 2
如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:
SELECT * FROM Persons WHERE LastName NOT
BETWEEN 'Hansen' AND 'Pettersen';
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Pettersen | Kari | Storgt 20 | Stavanger |
Svendson | Tove | Borgvn 23 | Sandnes |