union语句比较简单,就是把两个select集合的数据合并成一个集合,当然这两个表的列名的个数要一致。
select name ,id from st WHERE name like '张%' union all SELECT id,name from student_parent where name like '张%';
合并时,以前面的语句的列作为合并的列,如果个数一致,类型不一致,合并时也是能合并的,但是数据已经错乱,得到的结果是没有是没用数据。
另外union之后的数据默认是去重的,所以如果不想去重,需要用union all,默认的union带上了 DISTINCT 字段,这字段的意思就是去重。
distinct 英文释义:清晰的,截然不同的意思。
一般union用于同一张表,union all用于两张不同的表,不过也并非绝对,根据实际来做判断就好。