mysql数据查询之联合查询

联合查询概念了解:

将多次查询 结果, 在字段数相同的情况下 在记录的层次上进行拼接。
联合查询的使用
语法: select 语句1 + union + [union选项] + select 语句2 + …;  
select * from class union distinct select * from class;(联合查询,默认去重)
select * from class union all select * from class;(联合查询,保留所有记录)
select id, grade, room from class union distinct select name, age, id from student;(联合查询只要求字段数相同,和字段类型无关)

联合查询的意义

(1) 查询同一张表,例如查询学生信息,要求男生按年龄升序排序,女生按年龄降序排序;
(2) 多表查询,多张表的结构是完全一样的,保持的数据结构也是一样的。
( select * from student where gender = "boy" order by age asc limit 666 )
union
( select * from student where gender = "girl" order by age desc limit 666 );

我们将 select 语句用括号括起来了,要想在联合查询中使 order by 生效,我们必须将其与 limit 搭配使用,而 limit 的限定数,我们设置为一个非常大的数即可。

猜你喜欢

转载自blog.csdn.net/dangbai01_/article/details/79892902