DBMS SQL集合操作

SQL Set操作用于组合两个或多个SQL SELECT语句。
设置操作的类型

  1. 联盟
  2. UnionAll
  3. 相交
  4. 减去
DBMS SQL集合操作

文章图片
1.联盟
  • SQL Union操作用于合并两个或多个SQL SELECT查询的结果。
  • 在联合操作中, 在两个应用了UNION操作的表中, 数据类型和列的所有数量必须相同。
  • 联合操作从其结果集中消除重复的行。
句法
SELECT column_name FROM table1 UNION SELECT column_name FROM table2;

例:
第一张桌子
ID NAME
1 Jack
2 Harry
3 Jackson
第二张桌子
ID NAME
3 Jackson
4 Stephan
5 David
Union SQL查询将是:
SELECT * FROM First UNION SELECT * FROM Second;

结果集表如下所示:
ID NAME
1 Jack
2 Harry
3 Jackson
4 Stephan
5 David
2.联合所有
联合所有操作等于联合操作。它不删除重复项和对数据进行排序就返回该集合。
句法:
SELECT column_name FROM table1 UNION ALL SELECT column_name FROM table2;

示例:使用上面的第一个和第二个表。
Union All查询将类似于:
SELECT * FROM First UNION ALL SELECT * FROM Second;

结果集表如下所示:
ID NAME
1 Jack
2 Harry
3 Jackson
3 Jackson
4 Stephan
5 David
3.相交
  • 它用于合并两个SELECT语句。 Intersect操作从两个SELECT语句返回公共行。
  • 在“相交”操作中, 数据类型和列的数量必须相同。
  • 它没有重复项, 并且默认情况下它按升序排列数据。
句法
SELECT column_name FROM table1 INTERSECT SELECT column_name FROM table2;

例:
使用上面的第一和第二表。
【DBMS SQL集合操作】相交查询将是:
SELECT * FROM First INTERSECT SELECT * FROM Second;

结果集表如下所示:
ID NAME
3 Jackson
4.减号
  • 它合并了两个SELECT语句的结果。减号运算符用于显示第一个查询中存在但第二个查询中不存在的行。
  • 默认情况下, 它没有重复项和数据以升序排列。
句法:
SELECT column_name FROM table1 MINUS SELECT column_name FROM table2;


使用上面的第一和第二表。
减查询将是:
SELECT * FROM First MINUS SELECT * FROM Second;

结果集表如下所示:
ID NAME
1 Jack
2 Harry

    推荐阅读