题目描述
统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录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`));
解答:
联合三表查询即可
select
d.dept_no,
d.dept_name,
count(s.salary)
from
departments d
join dept_emp de on d.dept_no=de.dept_no
join salaries s on de.emp_no=s.emp_no
group by d.dept_no, d.dept_name

博客围绕统计各部门工资记录数的问题展开。题目要求给出部门编码、名称及在salaries表中的记录数。解答指出通过联合三表查询即可完成该统计,涉及信息技术领域的SQL数据库查询知识。
1803

被折叠的 条评论
为什么被折叠?



