📜  SQL | AND 和 OR运算符

📅  最后修改于: 2021-09-08 15:31:42             🧑  作者: Mango

在 SQL 中,AND & OR运算符用于过滤数据并根据条件获得精确的结果。

  • AND 和 OR运算符与 WHERE 子句一起使用。
  • 这两个运算符称为连接运算符。

AND 运算符:此运算符仅显示条件condition1 和 condition2 的计算结果都为 True 的那些记录

OR 运算符:此运算符显示条件 condition1 和 condition2 之一的计算结果为 True 的记录。也就是说,条件 1 为真或条件 2 为真。
表格1

AND 运算符

基本语法:

SELECT * FROM table_name WHERE condition1 AND condition2 and ...conditionN;

table_name: name of the table
condition1,2,..N : first condition, second condition and so on

示例查询:

  1. 从学生表中获取所有记录,其中年龄为 18 岁,地址为德里。
    SELECT * FROM Student WHERE Age = 18 AND ADDRESS = 'Delhi';
    

    输出:

    ROLL_NO NAME ADDRESS PHONE Age
    1 Ram Delhi XXXXXXXXXX 18
    4 SURESH Delhi XXXXXXXXXX 18
  2. 从 Student 表中获取所有记录,其中 NAME 是 Ram 并且 Age 是 18。
    SELECT * FROM Student WHERE Age = 18 AND NAME = 'Ram';
    

    输出:

    ROLL_NO NAME ADDRESS PHONE Age
    1 Ram Delhi XXXXXXXXXX 18

或运算符

基本语法:

SELECT * FROM table_name WHERE condition1 OR condition2 OR... conditionN;

table_name: name of the table
condition1,2,..N : first condition, second condition and so on

示例查询:

  1. 从学生表中获取所有记录,其中 NAME 是 Ram 或 NAME 是 SUJIT。
    SELECT * FROM Student WHERE NAME = 'Ram' OR NAME = 'SUJIT';
    

    输出:

    ROLL_NO NAME ADDRESS PHONE Age
    1 Ram Delhi XXXXXXXXXX 18
    3 SUJIT ROHTAK XXXXXXXXXX 20
    3 SUJIT ROHTAK XXXXXXXXXX 20
  2. 从 Student 表中获取所有记录,其中 NAME 是 Ram 或 Age 是 20。
    SELECT * FROM Student WHERE NAME = 'Ram' OR Age = 20;
    

    输出:

    ROLL_NO NAME ADDRESS PHONE Age
    1 Ram Delhi XXXXXXXXXX 18
    3 SUJIT ROHTAK XXXXXXXXXX 20
    3 SUJIT ROHTAK XXXXXXXXXX 20

结合 AND 和 OR

您可以按以下方式组合 AND 和 OR运算符来编写复杂的查询。
基本语法:

SELECT * FROM table_name WHERE condition1 AND (condition2 OR condition3);

示例查询:

  1. 从学生表中获取年龄为 18 岁的所有记录 NAME 是 Ram 或 RAMESH。
SELECT * FROM Student WHERE Age = 18 AND (NAME = 'Ram' OR NAME = 'RAMESH');

输出:

ROLL_NO NAME ADDRESS PHONE Age
1 Ram Delhi XXXXXXXXXX 18
2 RAMESH GURGAON XXXXXXXXXX 18