帮忙个SQL题目

来源:百度知道 编辑:UC知道 时间:2024/05/16 18:26:05
学生信息系统中有两个表:“学生信息表”和“系信息表”。
在学生信息表Student中有列
Sno “学号”、
Sname “姓名”、
Birth “出生日期”、
Dno “系号”
在系信息表Department中有列
Dno “系号”、
Dname “系名”、
教师信息表Teacher有列
T_id “教师代号”、
T_name “教师姓名”、
T_birth “出生日期”、
T_Dno “系号”。
1、请用SELECT语句列出所有学生的学号、姓名和所在的系名。

2、请用SELECT语句统计并显示每个系的系号、系名以及每个系学生的人数。要求:如果新创建的系还没有学生,就不要显示该系的信息。

3、请用SELECT语句统计并显示每个系的系号、系名以及每个系学生的人数。要求:如果新创建的系还没有学生,该系也要显示,并且该系的学生人数为0。

4、 请用SELECT语句列出系号为3的系的所有人员的姓名和出生日期(包括学生和教师)。

5、请显示学生人数最多的系的系号、名称和学生人数。

6、查询与学生李勇同一个月份出生的学生的姓名,出生日期,所在系

1.
select Stu.sno,Stu.sname,Dep.dname from Student Stu,Department Dep where Stu.dno = Dep.dno

2.
select Dep.dno 系编号,Dep.dname 系名,count(Stu.sno) as 人数 from Student Stu,Department Dep where Stu.dno = Dep.dno group by Dep.dno,Dep.dname

3.
select Dep.dno,Dep.dname,isNull(count(Stu.sno),0) as 人数 from Student Stu right outer join Department Dep on Stu.dno=Dep.dno group by Dep.dno,Dep.dname order by Dep.dno

4.
select isNULL(Stu.sname,'') as 学生姓名,isNull(Stu.birth,'') as 生日,isNull(T.T_name,'') as 教师姓名,isNull(T.T_birth,'') as 生日 from Department Dep left outer join Student Stu on Stu.dno = Dep.dno left outer join Teacher T on T.T_no = Dep.dno where Dep.dno='3'

5.
SELECT Dep.dno, Dep.dname, count(Stu.sno) AS count1
FROM Student AS Stu INNER JOIN Department AS Dep ON Stu.dno=Dep.dno
GROUP BY Dep.dno, Dep.dname
HAVING count(Stu.sno) = (SELECT max(count1)