union:把多条select语句的结果合并到一起称之为联合操作.竖着连接
场景:获得数据的条件,出现逻辑冲突,或者很难再一个逻辑内表示,就可以拆分为多个逻辑,分别实现。
要求:字段名是相同的。如果严格要求字段的类型也要是一样的,但是因为数据库会自动转化数据类型所以也是允许不同的.
例:(select t_name,days from teacher_class where c_name='php0115' order by days desc limit 1)union all(select t_name,days from teacher_class where c_name='php0100' order by days desc limit 1)。
union会把所得的结果自动去除重复值(distinct).想要全部显示可以用union all 如上
对于()里面的子查询语句,需注意order by在不加limit的情况下不起作用。还有最好能加上().
还可以对总的结果进行排序:()union()order by days