SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法

这篇具有很好参考价值的文章主要介绍了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,否则记录不会被返回。

以下是一些示例:

  1. 选择所有来自西班牙并以字母'G'开头的客户:
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
  1. 选择所有来自西班牙,城市为'Berlin',且邮政编码大于12000的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany'
AND City = 'Berlin'
AND PostalCode > 12000;
  1. 选择所有以字母'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,记录就会被返回。

以下是一些示例:

  1. 选择所有来自德国或西班牙的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
  1. 选择所有城市为'Berlin',或CustomerName以字母'G'开头,或Country为'Norway'的客户:
SELECT *
FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
  1. 结合使用ANDOR运算符,选择所有以'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,记录就会被返回。

以下是一些示例:

  1. 选择所有来自德国或西班牙的客户:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
  1. 选择所有城市为'Berlin',或CustomerName以字母'G'开头,或Country为'Norway'的客户:
SELECT *
FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
  1. 结合使用ANDOR运算符,选择所有以'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 运算符:条件筛选的高级用法文章来源地址https://www.toymoban.com/news/detail-746447.html

到了这里,关于SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【lwip】13-TCP协议分析之源码篇链接:[https://www.cnblogs.com/lizhuming/p/17438682.html](https://www.cnblogs.com/lizhuming/p/17438682.html)

    TCP源码篇,当前只分析TCP层的源码实现,按功能分块分析,接口为RAW接口。 NETCONN接口和SOCKET接口会独立一篇文章进行分析。 本文基于读者已学习了TCP协议原理篇的基础上进行源码分析,不再在此篇文章中过多解析TCP相关概念。 ‍ 建议读者对着LWIP库源码进行阅读。对于初学

    2024年02月06日
    浏览(64)
  • Zookeeper是什么,它有什么特性与使用场景?

    ZooKeeper 是一种开源的分布式协调服务,由雅虎公司开发。它可以帮助分布式应用程序实现数据同步、配置管理、命名服务等功能,并具有高可用性、可靠性和可扩展性等特性。本文将对 ZooKeeper 的定义、特性和使用场景进行详细介绍。 ZooKeeper 是一种分布式协调服务,主要用

    2024年02月11日
    浏览(26)
  • Vue中如何更好地封装组件?

    1.子组件使用@事件名=\\\"$emit(\\\'父组件中传递的事件名\\\',想给父组件传递的参数(可选))\\\" 2.子组件使用  父组件:  子组件: 1.子组件使用props声明想要的属性,再将该属性动态绑定给子组件      然后子组件中绑定数据即可     父组件使用prop声明,就可以传递给子组件 :prop=\\\"msg

    2024年02月13日
    浏览(42)
  • 【数据结构和算法】--队列

    队列是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有 先进先出 FIFO(First In First Out) 的原则。 入队列 :进行 插入操作的一端称为队尾 。 出队列 :进行 删除操作的一端称为队头 。 队列结构联想起来也非常简单,如其名,队列就相当于

    2024年02月05日
    浏览(32)
  • Less预处理——继承、导入、条件表达式和函数

    1、extend 的使用 extend 是 Less 的一个伪类,它可继承所匹配声明中的全部样式 index.less 文件 index.css 文件 自动转义后的 css 文件内容如下 2、all 全局搜索替换 使用选择器匹配到的全部声明 index.less 文件 index.css 文件 自动转义后的 css 文件内容如下 3、减少代码的重复性

    2024年02月20日
    浏览(39)
  • International Journal of Remote Sensing投稿经历

    上图,9月14号提交的初稿,经过一次大修和一次小修,12月30号状态为Accept,历时三个半月,刚好赶上过年。 总体就是这个时间线,下面来mark一下整个写作投稿流程。 21届某211就读研究生,因为本科就一直给老板打工,回想起来好像除了干活就是干活,每次开组会前两天还要

    2024年02月12日
    浏览(25)
  • 学习网安需要了解的一些基础知识

    1.POC/EXP POC(proof of concept)常指一段漏洞验证代码;EXP(exploit)指利用系统漏洞进行攻击的动作 PoC是证明 漏洞 存在的,而  Exp  是利用这个 漏洞 进一步进行攻击,先有POC,才有EXP         2.Payload/shellcode payload(有效攻击负载) 指的是漏洞利用载荷利用管道,我们在漏洞利用成

    2024年02月11日
    浏览(31)
  • 【C++】C++核心编程(十一)文件操作

      程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。    C++中对文件进行操作需要包含头文件 fstream   文件类型分为两种:     1、文本文件—文件以文本的ASCII码形式存储在计算机中;     2、二进制文件—

    2024年02月09日
    浏览(28)
  • 全量知识系统 程序详细设计 “智能”分类及标注的主题词架构(Q&A百度搜索)

    今天聊聊全量知识系统 程序详细设计中对“智能”的解读。先概列如下: 机器智能MI(计算智能-脑智)“部件part” 人工智能AI(感知智能-心智)”组件group” 机体智能OI  (认知智能-元智)  “零件order” 每一行由三段组成。每一段都和“主题”有关: 使用的格式及角色(“

    2024年04月22日
    浏览(40)
  • vue下载pdf文件纯前端实现,不跳页面实现

    一、引入download.js npm install downloadjs 地址:https://www.npmjs.com/package/downloadjs 注意:使用download.js时下载的文件内容为该文件的url(url和filename参数有中文的话下载后的文件会损坏打不开,需要修改源码) 二、复制一份下载好的downloadjs 文件 , 修改后的源码

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包