——————————————– 练 习 ————————————————–
练习运用到的表:1~11题运用到 emp (员工表), dept (部门表), salgrade (薪资等级表)
– 1 查询员工的姓名 年龄 职位 部门信息 (隐式内显示)
1 | select e.name, e.age, e.job, d.name from emp e, dept d where e.dept_id = d.id; |
– 2 查询年龄小于30岁的员工的姓名 年龄 职位 部门信息 (显式内显示)
1 | select e.name, e.age, e.job, d.name from emp e join dept d on e.dept_id = d.id where e.age < 30; |
– 3 查询拥有员工的部门ID,部门名称
1 | select distinct d.id , d.name from emp e ,dept d where e.dept_id = d.id; |
– 4 查询所以年龄大于40岁的员工,及其归属的部门名称;如果员工没有分配部门,也需要显示出来
1 | select e.* , d.name from emp e join dept d on e.dept_id = d.id where e.age > 40; |
– 5 查询所有员工的工资等级
1 | select e.*, s.grade from emp e, salgrade s where e.salary >= s.local and e.salary <= s.hlsal; |
– 6. 查询 “研发部” 所有圆员工的信息及 工作等级
1 | select e.*,s.grade from emp e , dept d , salgrade s where e.dept_id = d.id and (e.salary >= s.local and e.salary <= s.hlsal) and d.name = '财务部'; |
–7 查询 ”市场部门“ 员工的平均工资
1 | select avg(e.salary) from emp e ,dept d where e.dept_id=d.id and d.name = '市场部'; |
– 8 查询工资比 “韦一笑” 高的员工信息
1 | select salary from emp where name = '韦一笑'; |
– 9 查询比平均薪资高的员工信息
1 | -- a. 先查询平均薪资 |
– 10. 查询低于本部门平均工资的员工信息
1 | -- a 查询指定部门平均薪资 |
– 11. 查询所有的部门信息,并统计部门的员工人数
1 | select id,name from dept; |
– 12 查询所有学生的选课情况,展示出学生名称,学号,课程名称
– 标:student(学生表) , student_course(学生课程中间表), course (课程表)
– 条件:student.id = student_course.studentid, course.id = student_course.coursed
1 | select s.name , s.no, c.name from student s , student_course sc, course c where s.id = sc.studentid and c.id =coursed; |
———————————- 结 束 ———————————————