> 文章列表 > 【MySQL】GROUP BY分组子句与联合查询的使用详解

【MySQL】GROUP BY分组子句与联合查询的使用详解

【MySQL】GROUP BY分组子句与联合查询的使用详解

目录

前篇都在这里喔~

 MySQL的增删改查

MySQL数据库约束和聚合函数的使用

1.GROUP BY子句

 练习表如下:

1.查询不包含董事长的平均工资

2.按照角色分组计算平均工资

3.过滤掉平均工资大于一万的角色

4.♥过滤数据♥

2.联合查询

以下列表作为依据

1.内连接 

 1.查询许仙同学的成绩

 2.查询所有同学的总成绩及个人信息

 3.查询所有同学的每门课的成绩及同学的个人成绩

2.外连接

 以student和score表为例

1.左外连接

2.右外连接 


前篇都在这里喔~

 MySQL的增删改查

MySQL数据库约束和聚合函数的使用

1.GROUP BY子句

 练习表如下:

1.查询不包含董事长的平均工资

select avg(salary) from emp where name != '董事长';

2.按照角色分组计算平均工资

select role,avg(salary) '平均工资' from emp group by role;

 

3.过滤掉平均工资大于一万的角色

select role,avg(salary) '平均工资' from empgroup by role having avg(salary) < 10000;

 

4.过滤数据

2.联合查询

 

以下列表作为依据

 

 

 

1.内连接 

 ​​​​​​​

 1.查询许仙同学的成绩

select score, stu.name '学生名字', c.name '课程名字' from score s, student stu, course c 
where s.student_id = stu.id and s.course_id = c.id and stu.name = '许仙';  

 2.查询所有同学的总成绩及个人信息

select stu.classes_id,stu.sn,stu.qq_mail,stu.name, sum(score) '总分' from score sc, student stu 
where sc.student_id = stu.id group by stu.sn;

 3.查询所有同学的每门课的成绩及同学的个人成绩

select stu.name '学生姓名', c.name'课程名', sc.score from score sc, student stu, course c 
where sc.student_id = stu.id and sc.course_id = c.id;

 

2.外连接

 以student和score表为例

select * from student stu left join score sc on sc.student_id = stu.id;
select * from student stu right join score sc on sc.student_id = stu.id;

1.左外连接

2.右外连接