這是SQL隔日一題的第3篇文章
題目描述
查找各個部門當前(dept_manager.to_date='9999-01-01')領導當前(salaries.to_date='9999-01-01')薪水詳情以及其對應部門編號dept_no
(注:請以salaries表爲主表進行查詢,輸出結果以salaries.emp_no升序排序,並且請注意輸出結果,dept_no列是最後一列)
這題用到了和之前employees表不同的salaries表和dept_manager表,這兩個表都有emp_no這個字段,可以用來做連接。
思路
考察表連接,因此可以有兩種思路
思路1:where連接
思路2:內連接
答案
# 思路1:where連接
select s.emp_no,s.salary,s.from_date,s.to_date,m.dept_no
from salaries as s,dept_manager as m
where s.emp_no = m.emp_no
and s.to_date = '9999-01-01' and m.to_date = '9999-01-01'
order by s.emp_no
where連接兩個表,on兩邊是公共字段,注意這題還有限制條件,即“當前”的意思是to_date = '9999-01-01',以及按emp_no降序排列。
# 思路2:內連接
select s.emp_no,s.salary,s.from_date,s.to_date,d.dept_no
from salaries as s inner join dept_manager as d
on d.emp_no = s.emp_no
where d.to_date = '9999-01-01' and s.to_date = '9999-01-01';
inner join …on 內連接,傳遞給on的條件與傳遞給where的相同,SQL中的幾種連接的區別如下圖所示。
猜你喜歡:
數據分析應關注AARRR模型的哪些指標
@ 作者:可樂
@ 公衆號/知乎專欄/頭條/簡書:可樂的數據分析之路
@加個人微信:data_cola,備註:進羣,拉你入 可樂的數據分析羣 和各行各業的小夥伴交流探討數據分析相關內容
微信公衆號
個人微信號