文章目录
基本语法联合查询意义
联合查询:将多次查询在记录上进行拼接:记录数会增加,但是字段不会增加联合查询只要求两次查询的结果集中的字段数量一致即可:对字段名称与数据类型不要求但是在实际项目开发中,联合查询的多次查询的结果集中的字段数量、类型,甚至字段名称都是一样的
基本语法
select 语句1
union [union选项]
select 语句2
union选项:与select选项一样:all、distinct(默认) 联合查询只要求多次查询的字段数量一致:对于字段数据类型与字段名称没有要求
联合查询意义
联合查询的意义分为两种:
查询同一张表但是需求不同:如查询学生信息,男生生高升序,女生升高降序
create table student(
id int primary key auto_increment,
number varchar(20) not null,
name varchar(20) not null,
gender varchar(10) default 'male',
age tinyint unsigned default 16,
height tinyint unsigned
)charset utf8;
insert into student(id,number,name,gender) values
(null,'itcast0001','张三','male'),
(null,'itcast0002','李四','male'),
(null,'itcast0003','王五','female'),
(null,'itcast0004','赵六','male'),
(null,'itcast0006','kitty','female'),
(null,'itcast0007','billy','female'),
(null,'itcast0005','小明','male');
-- 随机的生成年龄与身高
update student set age=floor(rand() * 20 + 20),height = floor(rand()*20 + 170);
在联合查询中: order by不能直接使用,需要对查询语句使用括号才行在联合查询中若要order by生效: 必须搭配limit: limit使用限定的最大数即可.
多表查询:多张表的结构是完全一样的:保存的数据也是一样的:可能是水平分表