天天看点

sql UNION ALL 和 UNION

查询两张表的所有数据

SELECT * FROM 表A union UNION ALL SELECT * FROM  表B 

UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记

一般情况下要保证 表A 和表B 字段数 并且字段类型要一样,

如果你要查的 两张表中 大部分 相同 但仍有不同字段,但是又需要同时查到两张表的数据则可以利用别名处理

例:

表A : studentName ,teacherName,schoolName

表B: studentName,className,studentSex

则sql:SELECT  studentName,teacherName,schoolName," " AS className," " AS studentSex FROM  表A

UNION ALL SELECT studnetName," " AS teacherName," " AS schoolName,className,studentSex FROM 表 B 

这样就可以查出两张表的所有数据了