在 SQL 中,AND & OR运算符用于过滤数据并根据条件获得精确的结果。
- AND 和 OR运算符与 WHERE 子句一起使用。
- 这两个运算符称为连接运算符。
AND 运算符:此运算符仅显示条件condition1 和 condition2 的计算结果都为 True 的那些记录。
OR 运算符:此运算符显示条件 condition1 和 condition2 之一的计算结果为 True 的记录。也就是说,条件 1 为真或条件 2 为真。
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
示例查询:
- 从学生表中获取所有记录,其中年龄为 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 - 从 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
示例查询:
- 从学生表中获取所有记录,其中 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);
示例查询:
- 从学生表中获取年龄为 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 |