首页 > 开发 > 综合 > 正文

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

2024-07-21 02:12:39
字体:
来源:转载
供稿:网友

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来排除一些数据。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表