1、显示员工表的每个部门的最大工资,工资平均值
SELECT MAX(salary),AVG(salary),department_id
FROM employees
GROUP BY department_id;
2、查询部门的员工个数>5的部门编号和员工个数,并按员工个数降序
SELECT COUNT(*) 员工个数,department_id
FROM employees
GROUP BY department_id
HAVING 员工个数>5
ORDER BY 员工个数 DESC;
3、没有表数据
# 已知表 student,里面有 id(学号),name,gradeId(年级编号)
# 已知表grade,里面有id(年级编号),name(年级名)
# 已知表result,里面有id,score,studentNo(学号)
# 试用 内连接和等值连接 两种方式查询 出 学号、姓名、成绩、年级名
内连接
SELECT s.id,s.name,r.score,g.name
FROM student s
JOIN result r ON s.id=r.studentno
JOIN grade g ON s.gradeid = g.id;
等值连接
SELECT s.id,s.name,r.score,g.name
FROM student s,result r,grade g
WHERE s.id = r.studentno
AND s.gradeid=g.id;
4、根据上题的表查询哪个年级没有学生
SELECT g.id
FROM student s
RIGHT OUTER JOIN grade g ON s.gradeid=g.id
WHERE s.id IS NULL;
网友评论