• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL循序渐进(15)IN 和 BETWEEN 条件运算_sqlserver

sqlserver 搞代码 3年前 (2018-06-17) 56次浏览 已收录 0个评论

IN 和 BETWEEN 条件运算符

下面是IN条件运算符的SQL语句:

SELECT column1, SUM(column2)

FROM “list-of-tables”

WHERE column3 IN (list-of-values);

下面是BETWEEN条件运算符的SQL语句:

SELECT column1, SUM(column2)

FROM “list-of-tables”

WHERE column3 BETWEEN value1 AND value2;

实际上,IN条件运算符是一个设置成员测试运算符,也就是说,它用于测试是否一个数值处在IN关键字之后提供的数值之中。举个例子如下:

SELECT employeeid, lastname, salary

FROM employee_info

WHERE lastname IN (‘Hernandez’, ‘Jones’, ‘Roberts’, ‘Ruiz’);

这条语句是从employee_info表中选择lastname等于Hernandez、Jones、 Roberts或者 Ruiz名字之一的列employeeid、 lastname和 salary。如果它在其中就将返回行。

IN条件运算符可以使用混合条件来替代,比如你可以使用等号运算符或者使用OR运算符等等,但是结果是一样的,例如:

SELECT employeeid, lastname, salary

FROM employee_info

WHERE lastname = ‘Hernandez’ OR lastname = ‘Jones’ OR lastname = ‘Roberts’ OR lastname = ‘Ruiz’;

你可以观察到,利用IN运算符时语句会更加简短并且容易读,特别是在你测试两个或者三个数值以上的时候尤为突出。

当然你也可以使用NOT IN 来在你的列表中排除行的。

而BETWEEN条件运算符是用与测试一个数值是否处在BETWEEN关键字两边指定数值的中间,比如:

SELECT employeeid, age, lastname, salary

FROM employee_info

WHERE age BETWEEN 30 AND 40;

这条SQL语句是从employee_info表中选择age处于30到40岁之间(包括30岁和40岁)的列employeeid、age、 lastname和salary。

这条语句同样可以不用BETWEEN运算符,而使用混合条件来替代,例如:

SELECT employeeid, age, lastname, salary

FROM employee_info

WHERE age >= 30 AND age <= 40;

当然,你也可以类似于NOT IN的方法,使用NOT BETWEEN来排除一些数据。

欢迎大家阅读《SQL循序渐进(15)IN 和 BETWEEN 条件运算_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址