首页 > 代码库 > 常用的谓词和逻辑运算符

常用的谓词和逻辑运算符

在我们写SQL查询的过程中,有几个使用得非常频繁的谓词和逻辑运算符,谓词主要有IN,BETWEEN,以及LIKE。逻辑运算符主要有OR和AND。下面来分别总结它们。

IN

IN一般用于判断一个值是否与一组元素中的至少一个相等。例如,以下SQL查询返回订单ID等于10248,或10249,或10250的订单。

-- 设置数据库上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderid IN (10248,10249,10250);

查询结果:

image

注意:若orderid为字符串类型的话,括号里的订单ID需要加引号。

BETWEEN

BETWEEN一般用于判断一个值是否在指定的范围内,包括两个指定的边界值。例如,以下查询返回订单ID在10300至10310之间的所有订单。

SQL代码如下:

-- 设置数据库上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderid BETWEEN 10300 AND 10310

查询结果:

image

注意:表示日期时间的范围也可以使用BETWEEN。

LIKE

LIKE一般用于判断一个字符串值是否与指定的模式匹配。例如,以下查询返回姓氏以字符’D’开头的所有雇员。

SQL查询代码:

-- 设置数据库上下文USE TSQLFundamentals2008;GOSELECT empid,firstname,lastname FROM HR.EmployeesWHERE lastname LIKE ND%;

查询结果:

image

下面来总结逻辑运算符了,逻辑运算符主要用于把多个逻辑表达式组合起来。

OR

OR运算符表示或的关系。例如,以下查询返回2008年1月1日以后由职员ID为1,2处理过的所有订单。

SQL查询代码:

-- 设置数据库上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderdate>=20080101 OR empid IN (1,2)

查询结果:

image

AND

AND表示且的关系。例如,以下查询返回2008年1月1日以后由职员ID为1,2处理过的所有订单。

SQL查询代码:

-- 设置数据库上下文USE TSQLFundamentals2008;GOSELECT orderid,empid,orderdate FROM Sales.OrdersWHERE orderdate>=20080101 AND empid IN (1,2)

查询结果:

image