1、UNION指令的目的是将两个SQL语句的结果合并起来,可以查看你要的查询结果。
2、UNION会排出重复的记录,UNION ALL 不会排出重复的记录,UNION ALL 比 UNION的速度快很多,建议在相同的情况下用 UNOIN ALL。
3、UNION、UNION ALL 的用法中,两个SELECT 语句的字段类型匹配,而且字段个数相同。
4、举例分析:
新建两个表T_WBJ_TABLE_A,T_WBJ_TABLE_B,并插入如下数据:
T_WBJ_TABLE_A T_WBJ_TABLE_B
A_ID B_ID A_ID B_ID
1 A 2 A
2 A 3 A
3 B 4 A
4 B
要求查询两表中B_ID相等且B_ID='A'的记录(比较一下三者差异):
a、select * from T_WBJ_TABLE_A A,T_WBJ_TABLE_B where A.B_ID=B.B_ID and B.B_ID='A';
b、 select A.A_ID,A.B_ID from T_WBJ_TABLE_A A where A.B_ID='A' union all select B.A_ID,B.B_ID from T_WBJ_TABLE_B B where B.B_ID='A';
c、 select A.A_ID,A.B_ID from T_WBJ_TABLE_A A where A.B_ID='A' unionselect B.A_ID,B.B_ID from T_WBJ_TABLE_B B where B.B_ID='A';