SQL基本查询_多表查询(实验三)
题目要求(一)
针对emp、dept两表完成如下查询,并验证查询结果的正确性
- 使用显式内连接查询所有员工的信息,显示其编号、姓名、薪水、入职日期及部门名称;
- 使用隐式内连接查询所有员工的信息,显示其编号、姓名、薪水、入职日期及部门名称;
- 使用左外连接查询所有员工的编号、姓名、薪水、部门编号及部门名称;
- 使用右外连接查询所有部门的员工信息,没有员工的部门信息也要显示;
- 查询部门编号为02的员工信息,显示其编号、姓名、薪水、入职日期及部门名称。
题目1语句
使用显式内连接查询所有员工的信息,显示其编号、姓名、薪水、入职日期及部门名称;
select t1.empno 编号,t1.ename 姓名,t1.sal 薪水,t1.hiedate 入职日期,t2.dname 部门名称
from emp t1 inner join dept t2
on t1.deptno =t2.deptno;
使用隐式内连接查询所有员工的信息,显示其编号、姓名、薪水、入职日期及部门名称;
select t1.empno 编号,t1.ename 姓名,t1.sal 薪水,t1.hiedate 入职日期,t2.dname 部门名称
from emp t1,dept t2
where t1.deptno =t2.deptno
使用左外连接查询所有员工的编号、姓名、薪水、部门编号及部门名称;
select t1.empno 编号,t1.ename 姓名,t1.sal 薪水,t1.hiedate 入职日期,t2.dname 部门名称
from emp t1 left join dept t2
on t1.deptno =t2.deptno;
使用右外连接查询所有部门的员工信息,没有员工的部门信息也要显示;
select t1.empno 编号,t1.ename 姓名,t1.sal 薪水,t1.hiedate 入职日期,t2.dname 部门名称
from emp t1 right join dept t2
on t1.deptno =t2.deptno;
查询部门编号为02的员工信息,显示其编号、姓名、薪水、入职日期及部门名称。
select t1.empno 编号,t1.ename 姓名,t1.sal 薪水,t1.hiedate 入职日期,t2.dname 部门名称
from emp t1 left join dept t2
on t1.deptno = t2.deptno
where t2.deptno = '02';
题目要求(二)
针对Student、Course和SC 三个表完成如下查查询,并验证查询结果的正确性
- 查询学生的选课成绩信息,显示其学号、姓名、课程号及成绩;
- 查询学生的选课成绩信息,显示其学号、姓名、课程名称及成绩;
- 查询“0002”号课的考试情况,显示选修学生的学号、姓名及成绩;
- 查询学号为“06100202” 的学生考试成绩,显示其学号、姓名、课程名称及成绩 。
题目2语句
查询学生的选课成绩信息,显示其学号、姓名、课程号及成绩;
select s.sno,s.sname,c.cno,s1.grade
from student s,course c,sc s1
where s.sno = s1.sno and c.cno = s1.cno
查询学生的选课成绩信息,显示其学号、姓名、课程名称及成绩;
select s.sno,s.sname,c.cname,s1.grade
from student s,course c,sc s1
where s.sno = s1.sno and c.cno = s1.cno
查询“0002”号课的考试情况,显示选修学生的学号、姓名及成绩;
select s.sno,s.sname,s1.grade
from student s,sc s1,course c
where c.cno = '0002'
查询学号为“06100202” 的学生考试成绩,显示其学号、姓名、课程名称及成绩 。
select s.sno,s.sname,c.cname,s1.grade
from student s,course c,sc s1
where s.sno = s1.sno and c.cno = s1.cno and s.sno ='06100202'