随笔 - 410  文章 - 0  评论 - 519  阅读 - 148万 

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

IN

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

复制代码
-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT orderid,empid,orderdate 
FROM Sales.Orders
WHERE orderid IN (10248,10249,10250);
复制代码

查询结果:

image

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

BETWEEN

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

SQL代码如下:

复制代码
-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT orderid,empid,orderdate 
FROM Sales.Orders
WHERE orderid BETWEEN 10300 AND 10310
复制代码

查询结果:

image

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

LIKE

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

SQL查询代码:

复制代码
-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT empid,firstname,lastname 
FROM HR.Employees
WHERE lastname LIKE N'D%';
复制代码

查询结果:

image

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

OR

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

SQL查询代码:

复制代码
-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT orderid,empid,orderdate 
FROM Sales.Orders
WHERE orderdate>='20080101' OR empid IN (1,2)
复制代码

查询结果:

image

AND

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

SQL查询代码:

复制代码
-- 设置数据库上下文
USE TSQLFundamentals2008;
GO

SELECT orderid,empid,orderdate 
FROM Sales.Orders
WHERE orderdate>='20080101' AND empid IN (1,2)
复制代码

查询结果:

image

posted on   永远的麦子  阅读(2699)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示