在SQL(结构化查询语言)中,逻辑运算符用于组合两个或多个条件,从而创建更复杂的查询条件。逻辑运算的结果为真或假,这将决定查询是否返回给定的行。
AND运算符
AND运算符(&&)用于组合两个条件,当且仅当两个条件都为真时,结果才为真。例如,以下查询将返回满足条件“名称为'John'”和“年龄大于25”的所有行:
SELECT * FROM table_name WHERE name = 'John' AND age > 25;
OR运算符
OR运算符(||)用于组合两个条件,当两个条件中至少有一个为真时,结果才为真。例如,以下查询将返回满足条件“名称为'John'”或“年龄大于25”的所有行:
SELECT * FROM table_name WHERE name = 'John' OR age > 25;
NOT运算符
NOT运算符(!)用于否定一个条件,如果条件为假,则结果为真,反之亦然。例如,以下查询将返回不满足条件“名称为'John'”的所有行:
SELECT * FROM table_name WHERE NOT name = 'John';
逻辑运算符的优先级
逻辑运算符的优先级如下:NOT > AND > OR。这意味着NOT运算符将在AND和OR运算符之前执行。可以使用括号来覆盖运算符的优先级。
示例
假设我们有一个包含以下数据的表:
| 名称 | 年龄 |
|---|---|
| John | 26 |
| Mary | 22 |
| Bob | 28 |
| Jane | 24 |
使用sql逻辑运算的结果,我们可以执行以下查询:
SELECT * FROM table_name WHERE (name = 'John' OR age > 25) AND NOT name = 'Mary';
此查询将返回名称为“John”或年龄大于25且名称不为“Mary”的所有行,即返回“John”和“Bob”两行。