SQL – AND和OR 运算符

SQL AND和OR 运算符

在SQL中,AND & OR运算符用于过滤数据并根据条件获取精确结果。 SQL中 AND & OR 运算符还用于组合多个条件。 可以组合这两个运算符来测试SELECT、INSERT、UPDATE或DELETE语句中的多个条件。

在组合这些条件时,重要的是使用括号,以便数据库知道评估每个条件的顺序。

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

AND 运算符

此运算符仅显示条件condition 1和condition 2均计算为True的那些记录。

语法:

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

table_name: 表名字
condition1,2,..N : 第一个条件,第二个条件,以此类推

OR 运算符

此运算符显示条件condition 1和condition 2之一计算结果为True的记录。也就是说,条件1为真或条件2为真。
语法:

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

table_name : 表名字
condition1,2,..N : 第一个条件,第二个条件,以此类推

现在,我们考虑一个表数据库来演示具有多种情况的AND & OR 运算符:

SQL AND和OR 运算符

如果我们想从学生表中获取所有记录,其中Age是18岁,ADDRESS是Delhi。

查询语句 :

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

再举一个例子,从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

从Student表中获取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

从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);

举个例子,从Student表中获取Age为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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程