數據庫SQL實戰(牛客網):統計各個部門的工資記錄數

統計各個部門的工資記錄數,給出部門編碼dept_no、部門名稱dept_name以及次數sum
CREATE TABLE departments (
dept_no char(4) NOT NULL,
dept_name varchar(40) NOT NULL,
PRIMARY KEY (dept_no));
CREATE TABLE dept_emp (
emp_no int(11) NOT NULL,
dept_no char(4) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no));
CREATE TABLE salaries (
emp_no int(11) NOT NULL,
salary int(11) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,from_date));

先將dept_emp與departments連接成一張新的臨時表,然後再與第三張表salaries連接,最後按dept_no後利用count()函數求薪水的記錄行數

select a.dept_no , a.dept_name , count(c.salary) as sum
from (dept_emp as b join departments as a on a.dept_no = b.dept_no)
join salaries as c on b.emp_no = c.emp_no
group by a.dept_no;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章