sql练习------day(3)

mac2025-09-14  7

题目:

(让输出描述的顺序给绊住了…要注意先emp_no再salary):

说题之前先了解一下join表的顺序

1.那么第一个坑!要注意查询顺序

先employees.emp_no 再salaries.salary 那么问题来了,为什么是employees的emp_no而不是另一个表的呢,因为下面输出描述的顺序TAT

2.第二个要注意得地方:

salaries表中emp_no不唯一,一个员工有多次涨薪的机会,employees表中emp_no 唯一,即 salaries 的数据会多于 employees,因此需先找到 employees.emp_no 在 salaries 表中对应的记录salaries.emp_no,则有限制条件 e.emp_no = s.emp_no

3.第三个要注意的地方

题目要求的是入职时的薪水,所以还要限定employees.hire_day = from_day

答案

select e.emp_no , s.salary from employees as e join salaries as s on e.emp_no=s.emp_no and e.hire_date=s.from_date order by e.emp_no desc
最新回复(0)