- 3
- 0
- 约1.46万字
- 约 17页
- 2017-03-22 发布于四川
- 举报
第8章 操作结果集
8.1 合并结果集
8.1.1 使用UNION与UNION ALL进行结果集合并
使用下面的语句创建Table1和Table2两个表,并向其中插入部分示例数据,内容分别如表8-1和表8-2所示。
CREATE TABLE Table1
(A int, B char(4), C char(4));
CREATE TABLE Table2
(A char(4), B decimal(5,4));
INSERT INTO Table1
VALUES (1, ABC, JKL),
(2, DEF, MNO),
(3, GHI, PQR);
INSERT INTO Table2
VALUES (JKL, 1.000),
(DEF, 2.000),
(MNO, 5.000);
8.1.2 使用ORDER BY子句对合并结果集排序
因此,在执行ORDER BY等操作时必须使用第一个结果集中的列名称。如:
SELECT a, b FROM table1
UNION
SELECT b, a FROM table2
ORDER BY a;
例如,下面语句中的第一个WHERE应用于table1,第二个WHERE应用于table2,而ORDER BY则是应用于合并后的结果集。
SELECT a, b FROM table1
WHERE b = ABC
UNION
SELECT b, a FROM table2
WHERE a = DEF
ORDER BY a;
8.1.3 结果集的合并顺序
例如,下面的语句首先对table1和table2进行完全合并,然后将得到的结果集再与table3进行合并,并删除它们之间的重复行。
SELECT * FROM table1
UNION ALL
SELECT * FROM table2
UNION
SELECT * FROM table3
例如,下面两个语句是等价的。第一条语句使用圆括号指定先将table2和table3合并,然后再将得到的结果集与table1合并;第二条语句则是改变了SELECT语句的书写顺序。
SELECT * FROM table1
UNION ALL
(SELECT * FROM table2
UNION
SELECT * FROM table3);
SELECT * FROM table2
UNION
SELECT * FROM table3
UNION ALL
SELECT * FROM table1;
8.2 查询结果集的差异行
8.2.1 使用EXCEPT运算符
首先使用下面的语句创建TableA、TableB和TableC三个结构相同的示例表,表的内容如表8-5所示。
CREATE TABLE TableA (coll int);
CREATE TABLE TableB (coll int);
CREATE TABLE TableC (coll int);
INSERT INTO TableA VALUES (NULL),(NULL),(NULL),(1),(2),(2),(2),(3),(4),(4);
INSERT INTO TableB VALUES (NULL),(1),(3),(4),(4),(5);
INSERT INTO TableC VALUES (2),(2),(4),(4);
下面的语句将返回位于TableA但是不位于TableB中的行,分析这两个表可以看出,TableA中只有coll为2的行在TableB中不存在,返回结果如表8-6所示。
SELECT * FROM TableA
EXCEPT
SELECT * FROM TableB;
表8-6 返回结果
coll 2 下面语句的返回结果如表8-7所示。
SELECT DISTINCT *
FROM TableA
WHERE NOT EXISTS
(SELECT *
FROM TableB
WHERE coll = TableA.coll);
8.2.2 查询全部差异行
EXCEPT虽然可以返回左侧查询与右侧查询的差异行,但是它无法反映这种差异程度
SELECT * FROM TableA
EXCEPT
SELECT * FROM TableB;
SELECT * FROM TableC
EXCEPT
SELECT * FROM TableB;
下面两行查询语句的结果分别如表8-9和表8-10所示。
SELECT ROW_NUMBER() OVER(PARTITION BY coll ORDER BY coll) AS r
您可能关注的文档
最近下载
- 雕塑维护方案养护.docx VIP
- 四川省成都市树德实验中学2024-2025学年七年级上学期期末考试道德与法治试题.docx VIP
- 对照不同光质补光对转色期葡萄品质和成分影响的初步探究.docx VIP
- 金属切削原理与刀具 配套课件.ppt
- T∕JNBDA 0009-2025 生殖医学高质量数据集建设规范.pdf VIP
- 上海高考:地理高频考点汇总.doc VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
- DB11T 1087-2025公共建筑装饰装修工程质量验收标准.docx VIP
- 小学快乐体育教学活动的研究与实践课题研究报告.docx VIP
- 02S515 排水检查井图集建筑工程图集.docx VIP
原创力文档

文档评论(0)