#数据库SQL实战#【Day4】
--------------------------------------------------
学习用,欢迎讨论。
--------------------------------------------------
查看详细题目的方法:
复制以下题目内容;
Ctrl+F查找刚刚复制的题目即可。
--------------------------------------------------
题目13:从titles表获取按照title进行分组
select title, count(*) as t from titles group by title having t > 1
按照题意通过group by进行分组,通过having控制条件。
--------------------------------------------------
题目14:从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略
select title, count(distinct emp_no) as t from titles group by title having t > 1
和题目13相似,只是忽略重复的emp_no,通过关键词distinct可以完成。
--------------------------------------------------
题目15:查找employees表所有emp_no为奇数
select * from employees where last_name != 'Mary' and emp_no % 2 = 1 order by hire_date desc
根据要求完成3个任务:last_name不是Mary;emp_no为奇数;按照hire_date降序排列。
--------------------------------------------------
题目16:统计出当前各个title类型对应的员工当前薪水对应的平均工资
select t.title, avg(s.salary) as avg from titles as t inner join salaries as s on t.emp_no = s.emp_no where t.to_date = '9999-01-01' and s.to_date = '9999-01-01' group by t.title
首先通过emp_no连接两张表,再通过group by进行分类,同时使用avg聚合函数计平均值。
--------------------------------------------------