SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
AND 运算符
SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
- column1,- column2,等是您要选择的列名称。
- table_name是您从中选择记录的表的名称。
- condition1,- condition2,等是筛选记录的条件。
- 使用AND运算符,所有条件都必须为TRUE,否则记录不会被返回。
以下是一些示例:
- 选择所有来自西班牙并以字母'G'开头的客户:
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
- 选择所有来自西班牙,城市为'Berlin',且邮政编码大于12000的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany'
AND City = 'Berlin'
AND PostalCode > 12000;
- 选择所有以字母'G'或'R'开头的西班牙客户(使用括号确保正确的条件组合):
SELECT *
FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
上述查询将选择所有以'G'开头的西班牙客户,以及所有以'R'开头的客户,而不考虑国家值。
OR 运算符
SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
- column1,- column2,等是您要选择的列名称。
- table_name是您从中选择记录的表的名称。
- condition1,- condition2,等是筛选记录的条件。
- 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。
以下是一些示例:
- 选择所有来自德国或西班牙的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
- 选择所有城市为'Berlin',或CustomerName以字母'G'开头,或Country为'Norway'的客户:
SELECT *
FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
- 结合使用AND和OR运算符,选择所有以'G'或'R'开头的西班牙客户(使用括号确保正确的条件组合):
SELECT *
FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
上述查询将选择所有以'G'开头的西班牙客户,以及所有以'R'开头的客户,而不考虑国家值。
NOT 运算符
SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
- column1,- column2,等是您要选择的列名称。
- table_name是您从中选择记录的表的名称。
- condition1,- condition2,等是筛选记录的条件。
- 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。
以下是一些示例:
- 选择所有来自德国或西班牙的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
- 选择所有城市为'Berlin',或CustomerName以字母'G'开头,或Country为'Norway'的客户:
SELECT *
FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
- 结合使用AND和OR运算符,选择所有以'G'或'R'开头的西班牙客户(使用括号确保正确的条件组合):
SELECT *
FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
上述查询将选择所有以'G'开头的西班牙客户,以及所有以'R'开头的客户,而不考虑国家值。
最后
为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。
看完如果觉得有帮助,欢迎点赞、收藏和关注

SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法的更多相关文章
- 逍遥自在学C语言  位运算符 "|" 的5种高级用法
		前言 在上一篇文章中,我们介绍了&运算符的高级用法,本篇文章,我们将介绍| 运算符的一些高级用法. 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是 ... 
- 逍遥自在学C语言 | 位运算符&的高级用法
		前言 在上一篇文章中,我们介绍了&运算符的基础用法,本篇文章,我们将介绍& 运算符的一些高级用法. 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位 ... 
- 逍遥自在学C语言 | 位运算符^的高级用法
		前言 在上一篇文章中,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^ 运算符的一些高级用法. 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一 ... 
- SQL Server优化技巧——如何避免查询条件OR引起的性能问题
		之前写过一篇博客"SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析",里面介绍了OR可能会引起全表扫描或索引扫描的各种案例,以及如何优化查询条件中含有OR的SQL语句的 ... 
- SQL Server优化技巧——如何避免查询条件OR引起的性能问题
		原文:SQL Server优化技巧--如何避免查询条件OR引起的性能问题 之前写过一篇博客"SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析",里面介绍了OR可能会引起 ... 
- Dart学习笔记-运算符-条件表达式-类型转换
		Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ... 
- SQL[连载3]sql的一些高级用法
		SQL[连载3]sql的一些高级用法 SQL 高级教程 SQL SELECT TOP SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP ... 
- SQL中的left outer join,inner join,right outer join用法详解
		这两天,在研究SQL语法中的inner join多表查询语法的用法,通过学习,发现一个SQL命令,竟然涉及到很多线性代数方面的知识,现将这些知识系统地记录如下: 使用关系代数合并数据1 关系代数合并数 ... 
- 织梦CMS实现多条件筛选功能
		用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击, ... 
- 求解:php商品条件筛选功能你是怎么做出来的?
		求解:php商品条件筛选功能你是怎么做出来的? 2013-09-25 13:43 chenhang607 | 浏览 2756 次 资源共享 求思路或者方法,最好能有些代码 2013-09-25 14: ... 
随机推荐
- java+mysql实现的公益管理系统
			一功能 1.管理员的登录 2.公益项目的增删改查 3.负责人的增删改查 4.捐款人的增删改查 5.志愿者增删改查 二界面展示 1.欢迎界面 2.登录界面 3.系统首页 4.项目管理 5.负责人管理 6 ... 
- Flutter学习
			常用网址 免费下载 !<AliFlutter 体系化建设和实践> Flutter 开发文档 Flutter实战 Dart 编程语言概览 pub仓库 main函数使用了(=>)符号, ... 
- 用Visual Studio把代码放到GitLab
			1.点"Git更改" 2.点"创建Git仓库--": 3.点"现有远程",再输入"远程URL": 4.在出现的警告框里选 ... 
- 微信小程序:接手项目,修bug
			好家伙, 问题描述如下: 小程序主界面,选择快速上传会议记录 选择快速 其中,没有2022-2023第二学期,所以,新的会议记录无法上传 于是,我自愿修复这个bug 由于我们没有产品文档 我只能由 ... 
- CSRF(Steam的链接不用随便点)
			漏洞详解 CSRF 漏洞原理: 攻击者会冒充或利用用户本人对web服务器发送请求,然而web服务器无法识别该请求是否为用户本人所发送,因此造成各种危害. 漏洞利用过程: 1)首先需要用户登录了上网站, ... 
- 《Document-level Relation Extraction as Semantic Segmentation》论文阅读笔记
			原文 代码 摘要 本文研究的是文档级关系抽取,即从文档中抽取出多个实体之间的关系.现有的方法主要是基于图或基于Transformer的模型,它们只考虑实体自身的信息,而忽略了关系三元组之间的全局信息. ... 
- 4、 mysql的explain分析执行计划
			EXPLAIN或者 DESC命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序. 查询SQL语句的执行计划 : explain sele ... 
- GB 2312字符集:中文编码的基石
			一.GB 2312字符集的背景 GB 2312字符集是中国国家标准委员会于1980年发布的一种中文字符集,是中国大陆最早的中文字符集之一.GB 2312字符集的发布填补了中国大陆中文编码的空白,为中文 ... 
- GPS 方案总结
			GPS 方案 搜集网络上关于GPS的方案. redis + mysql redis 用来做设备或用户实时定位的查询. mysql存储历史轨迹.存储时分两部分,一张表做实时查询用.一张表做备份用.如果需 ... 
- Mybatis中没有返回值的查询方法
			最近在项目开发中发现一件非常有意思的事情,一个Mapper.java文件中有一个查询方法没有返回值,这引起了我的好奇心, 没有返回值查询还有什么用呢? 仔细去看这个Mapper.java文件对应的xm ... 
