更新时间:2025-09-11 GMT+08:00
复合查询
包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。
常见的集合运算有:
- UNION:两个查询结果集的并集,对结果进行去重。
- UNION ALL:两个查询的并集,只将两个查询的结果合并。
示例
-- 建表并插入数据 m_db=# CREATE TABLE test1(c11 INT, c12 VARCHAR(20)); m_db=# INSERT INTO test1 VALUES (1,'a'),(2,'b'),(4,'d'); m_db=# CREATE TABLE test2(c21 INT, c22 VARCHAR(20)); m_db=# INSERT INTO test2 VALUES (1,'a'),(3,'c');
- UNION
m_db=# SELECT * FROM test1 UNION SELECT * FROM test2; c11 | c12 -----+----- 4 | d 3 | c 1 | a 2 | b (4 rows)
- UNION ALL
m_db=# SELECT * FROM test1 UNION ALL SELECT * FROM test2; c11 | c12 -----+----- 1 | a 2 | b 4 | d 1 | a 3 | c (5 rows)
父主题: SELECT