学习是一种信仰。
分类: Mysql/postgreSQL
2013-04-28 13:12:57
1、UNION:
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名
UNION 语法:
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL。
2、UNION ALL:
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
例子:
SELECT b.bill_no, b.transport_codes, b.bill_dst, b.total_bag_num, b.total_bill_weight, b.depart_date, b.dispatch_flag, b.prt_flag
FROM csm_bill b
WHERE b.total_bag_num=0 AND b.do_office = '022001'
UNION
SELECT b.bill_no, b.transport_codes, b.bill_dst, b.total_bag_num, b.total_bill_weight, b.depart_date, b.dispatch_flag, b.prt_flag
FROM csm_bill b, dsp_receptacle r
WHERE b.do_office = '022001' AND b.dom_int='D' AND b.transfer_flag = '0'
AND r.dispatch_serno in ( SELECT d.dispatch_serno FROM dsp_dispatch d WHERE 1=1 )
ORDER BY depart_date, bill_dst, bill_no