2,497
社区成员
发帖
与我相关
我的任务
分享
SELECT DISTINCT 开发部的程序员个数.人数,维护部的维护工程师个数.人数,部门表.部门,部门表.职务 FROM 部门表
LEFT JOIN (SELECT 部门,COUNT(姓名) AS 人数 FROM 部门表 GROUP BY 部门) AS 各部门人数 ON 各部门人数.部门=部门表.部门
LEFT JOIN (SELECT 部门,职务,COUNT(姓名) AS 人数 FROM 部门表 WHERE 部门='开发部' AND 职务='程序员' GROUP BY 部门,职务) AS 开发部的程序员个数
ON 开发部的程序员个数.部门=部门表.部门 AND 开发部的程序员个数.职务=部门表.职务
LEFT JOIN (SELECT 部门,职务,COUNT(姓名) AS 人数 FROM 部门表 WHERE 部门='维护部' AND 职务='维护工程师' GROUP BY 部门,职务) AS 维护部的维护工程师个数
ON 维护部的维护工程师个数.部门=部门表.部门 AND 维护部的维护工程师个数.职务=部门表.职务
WHERE (薪水>1000 AND 各部门人数.人数>10)
AND ((部门表.部门='开发部' AND 部门表.职务='程序员') OR (部门表.部门='维护部' AND 部门表.职务='维护工程师'))
SELECT COUNT(姓名) AS 开发部的程序员个数,部门表.部门,职务 FROM 部门表
LEFT JOIN (SELECT 部门,COUNT(姓名) AS 人数 FROM 部门表 GROUP BY 部门) AS 各部门人数 ON 各部门人数.部门=部门表.部门
WHERE 薪水>1000 AND 各部门人数.人数>10 AND 部门表.部门='开发部' AND 职务='程序员'
GROUP BY 部门表.部门,职务
SELECT COUNT(姓名) AS 维护部的维护工程师个数,部门表.部门,职务 FROM 部门表
LEFT JOIN (SELECT 部门,COUNT(姓名) AS 人数 FROM 部门表 GROUP BY 部门) AS 各部门人数 ON 各部门人数.部门=部门表.部门
WHERE 薪水>1000 AND 各部门人数.人数>10 AND 部门表.部门='维护部' AND 职务='维护工程师'
GROUP BY 部门表.部门,职务
CREATE TABLE department (deptname nvarchar(16), empname varchar(8), occu varchar(8), salary numeric(12,2))
SELECT deptname, cnt = COUNT(*)
FROM department
WHERE salary > 1000
AND (deptname LIKE '%开发部%' OR deptname LIKE '%维护部%')
GROUP BY deptname HAVING COUNT(*) > 10