SQL今日一題(3):內連接

這是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模型的哪些指標

泰坦尼克號數據分析

深入淺出數據分析

《吊打分析師》實戰—我要租個好房

爲什麼要學統計學:赤裸裸的統計學

成爲數據分析師的第三年,我寫了10W字

@ 作者:可樂
@ 公衆號/知乎專欄/頭條/簡書:可樂的數據分析之路
@加個人微信:data_cola,備註:進羣,拉你入 可樂的數據分析羣 和各行各業的小夥伴交流探討數據分析相關內容

微信公衆號

微信公衆號

個人微信號

個人微信號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章