注册

sql中except的用法

except 运算符从两个查询的结果集中查找不在第一个查询结果集中的行。示例:假设我们有两个表:table1 和 table2,分别包含记录 (1, 'john') 和 (2, 'mary')。执行以下查询,结果将返回 (2, 'mary'),因为该行在 table1 中存在,但在 table2 中不存在:select from table1 except select from table2;

SQL 中 EXCEPT 用法

EXCEPT 运算符用于从两个查询的结果集中查找不在第一个查询结果集中的行。

语法:

SELECT * FROM query1 EXCEPT SELECT * FROM query2;

示例:

假设我们有两个表:

CREATE TABLE table1 (id INT, name VARCHAR(255));
INSERT INTO table1 VALUES (1, 'John'), (2, 'Mary'), (3, 'Bob');

CREATE TABLE table2 (id INT, name VARCHAR(255));
INSERT INTO table2 VALUES (1, 'John'), (3, 'Bob'), (4, 'Alice');

执行以下查询:

SELECT * FROM table1 EXCEPT SELECT * FROM table2;

结果:

| id | name  |
|-----|--------|
| 2   | Mary   |

该查询返回了 table1 中存在但 table2 中不存在的行,即名为 "Mary" 的记录。

注意:

  • EXCEPT 运算符不区分大小写。
  • EXCEPT 和 MINUS 运算符是同义词。
  • EXCEPT 运算符可以接受多个查询作为参数。
  • EXCEPT 运算符返回一个去重的结果集。

以上就是sql中except的用法的详细内容,更多请关注CTO智库其它相关文章!