這是SQL今日一題的第4篇
題目描述
查找所有已經分配部門的員工的last_name和first_name以及dept_no(請注意輸出描述裏各個列的前後順序)
這道題用到employees表和dept_emp表,這兩個表以emp_no爲公共字段。
思路
要用表連接來做,注意題目描述,是已經分配部門的員工的信息,應使用內連接,如果使用外連接的話,那麼就應該以dept_emp爲主表去連接employees表。
思路1:where連接
思路2:內連接
思路3:左連接
答案
# where 連接
select e.last_name,e.first_name,d.dept_no
from dept_emp as d,employees as e
where e.emp_no = d.emp_no
where連接已經說了很多次,注意兩個表的公共字段即可。
# 內連接
SELECT e.last_name,e.first_name,d.dept_no
FROM employees AS e INNER JOIN dept_emp AS d
ON e.emp_no=d.emp_no
可以用where連接的就可以用inner join內連接,只是將where換成了on
# 左連接
select e.last_name,e.first_name,d.dept_no
from dept_emp as d left join employees as e
on e.emp_no = d.emp_no
左連接需要注意以哪個表爲主表去連接,題目是要查找已分配部門的員工,所以要用dept_emp爲主表去左連接employees表(employees表中含有未分配部門的員工)。
猜你喜歡:
數據分析應關注AARRR模型的哪些指標
@ 作者:可樂
@ 公衆號/知乎專欄/頭條/簡書:可樂的數據分析之路
@加個人微信:data_cola,備註:進羣,拉你入 可樂的數據分析羣 和各行各業的小夥伴交流探討數據分析相關內容
微信公衆號
個人微信號