SQL数据库中IN和BETWEEN操作符的数据范围

SQL IN 操作符

IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。

SQL IN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

  

原始的表 (在实例中使用:)

Persons 表:

IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street

Beijing

 

IN 操作符实例

现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

我们可以使用下面的 SELECT 语句:

赛前分析

SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')

  

结果集:

 

IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
3 Carter Thomas Changan Street Beijing

 

 

SQL BETWEEN 操作符

 

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

 

BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

 

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

  

原始的表 (在实例中使用:)

Persons 表:

 

IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
4 Gates Bill Xuanwumen 10 Beijing

 

足球录像回放

BETWEEN 操作符实例

如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:

 

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'

  

结果集:

 

IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York

重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

 

实例 2

如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:

 

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'

  

结果集:

IdLastNameFirstNameAddressCity
3 Carter Thomas Changan Street Beijing
4 Gates Bill Xuanwumen 10 Beijing
posted @ 2020-11-02 21:34  luck3368  阅读(816)  评论(0)    收藏  举报