SQL210 统计出当前各个title类型对应的员工当前薪水对应的平均工资
select t.title,avg(s.salary) average
from titles t join salaries s
on t.emp_no = s.emp_no
group by t.title
order by average asc
解释:观察查询的两列数据,分别在两个表中,多表联查思路。
思路是比较简单的,多表联查使用inner join ..on 或者join ..on,因为工资要平均,所以需要分组进行求平均数,并且题目要求对平均薪资进行排序,注意点是 join..on的on的使用,不是直接接的where条件进行查询的
SQL213 查找所有员工的last_name和first_name以及对应的dept_name
select e.last_name,e.first_name,dept_name
from employees e left join dept_emp de on e.emp_no = de.emp_no
left join departments d on de.dept_no = d.dept_no
解释:首先分析三个表之间的关系,employees与dept_emp是使用emp_no外键进行连接的,而departments与dept_emp是使用dept_no外键进行连接的,而查询的数据在employees和departments中所以需要两次左连接查询,因为左连接查询会影响右表的数据。
SQL230 创建一个actor_name表
方法一:
create table if not exists actor_name (
first_name varchar(45) not null,
last_name varchar(45) not null
);
insert into actor_name select first_name,last_name from actor;
方法二:
create table if not exists actor_name as
(select first_name ,last_name from actor)
都是IT小白,交流群不可少,相互学习,相互交流感悟,可能会给你一些启发。