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


    AND 运算符

    SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition1 AND condition2 AND condition3 ...;
    
    • 1
    • 2
    • 3
    • column1, column2,等是您要选择的列名称。
    • table_name是您从中选择记录的表的名称。
    • condition1, condition2,等是筛选记录的条件。
    • 使用AND运算符,所有条件都必须为TRUE,否则记录不会被返回。

    以下是一些示例:

    1. 选择所有来自西班牙并以字母’G’开头的客户:
    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
    
    • 1
    • 2
    • 3
    1. 选择所有来自西班牙,城市为’Berlin’,且邮政编码大于12000的客户:
    SELECT *
    FROM Customers
    WHERE Country = 'Germany'
    AND City = 'Berlin'
    AND PostalCode > 12000;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 选择所有以字母’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):
    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
    
    • 1
    • 2
    • 3

    如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。

    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
    
    • 1
    • 2
    • 3

    上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

    OR 运算符

    SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition1 OR condition2 OR condition3 ...;
    
    • 1
    • 2
    • 3
    • column1, column2,等是您要选择的列名称。
    • table_name是您从中选择记录的表的名称。
    • condition1, condition2,等是筛选记录的条件。
    • 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。

    以下是一些示例:

    1. 选择所有来自德国或西班牙的客户:
    SELECT *
    FROM Customers
    WHERE Country = 'Germany' OR Country = 'Spain';
    
    • 1
    • 2
    • 3
    1. 选择所有城市为’Berlin’,或CustomerName以字母’G’开头,或Country为’Norway’的客户:
    SELECT *
    FROM Customers
    WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
    
    • 1
    • 2
    • 3
    1. 结合使用ANDOR运算符,选择所有以’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):
    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
    
    • 1
    • 2
    • 3

    如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。

    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
    
    • 1
    • 2
    • 3

    上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

    NOT 运算符

    SQL的OR运算符用于根据多个条件筛选记录,只要有一个条件为TRUE,就会返回记录。下面是OR运算符的基本语法:

    SELECT column1, column2, ...
    FROM table_name
    WHERE condition1 OR condition2 OR condition3 ...;
    
    • 1
    • 2
    • 3
    • column1, column2,等是您要选择的列名称。
    • table_name是您从中选择记录的表的名称。
    • condition1, condition2,等是筛选记录的条件。
    • 使用OR运算符,只要有一个条件为TRUE,记录就会被返回。

    以下是一些示例:

    1. 选择所有来自德国或西班牙的客户:
    SELECT *
    FROM Customers
    WHERE Country = 'Germany' OR Country = 'Spain';
    
    • 1
    • 2
    • 3
    1. 选择所有城市为’Berlin’,或CustomerName以字母’G’开头,或Country为’Norway’的客户:
    SELECT *
    FROM Customers
    WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
    
    • 1
    • 2
    • 3
    1. 结合使用ANDOR运算符,选择所有以’G’或’R’开头的西班牙客户(使用括号确保正确的条件组合):
    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
    
    • 1
    • 2
    • 3

    如果不使用括号,查询可能会返回不希望的结果,因为AND运算符的优先级高于OR运算符。

    SELECT *
    FROM Customers
    WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';
    
    • 1
    • 2
    • 3

    上述查询将选择所有以’G’开头的西班牙客户,以及所有以’R’开头的客户,而不考虑国家值。

    最后

    为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

    看完如果觉得有帮助,欢迎点赞、收藏关注

    在这里插入图片描述

  • 相关阅读:
    【论文阅读】Graph Fusion Network for Text Classification
    免费分享一套基于Springboot+Vue的医院管理系统,挺漂亮的
    解决在CMD中执行python脚本时显示No module named ‘requests‘的问题
    随机数生成过慢导致系统阻塞怎么办?
    基于JAVA西宁市农副产品物流信息系统计算机毕业设计源码+数据库+lw文档+系统+部署
    Python 笔记06(Mysql数据库)
    算法|图论 4
    SpringMVC请求(下)-文件上传
    【Git】git命令大全(持续更新)
    alpine 设置时区,dockfile里面配置
  • 原文地址:https://blog.csdn.net/2302_76489021/article/details/134473805