深圳网站制作厂家,wordpress常用版本,wordpress 分栏,苏州好的做网站的公司--①查询信息管理系学生的学号和姓名。 --select sno,sname from Student where sdept IS
--②查询选修了课程的学生的学号。 --select distinct sc.sno from sc,student
--③查询选修了课程号为C001的学生的学号和成绩#xff0c;并对查询结果按成绩降序排列#xff0c;如…--①查询信息管理系学生的学号和姓名。 --select sno,sname from Student where sdept IS
--②查询选修了课程的学生的学号。 --select distinct sc.sno from sc,student
--③查询选修了课程号为C001的学生的学号和成绩并对查询结果按成绩降序排列如果成绩相同则按学号升序排列。 --SELECT sc.sno, sc.grade --FROM sc --JOIN course ON sc.cno course.cno --JOIN student ON sc.sno student.sno --WHERE sc.cno C001 --ORDER BY sc.grade DESC, sc.sno ASC;
--④查询选修课程号为C001的成绩在80-90分的学生的学号和成绩并将成绩乘以系数0.8输出。 --select sc.Sno,sc.grade*0.8 as grade --from sc --JOIN course ON sc.cno course.cno --join student ON sc.sno student.sno --where sc.cno C001 and sc.grade between 80 and 90
--⑤查询通信工程系或计算机系中姓张的学生的信息。 --select *from student where (sdept IM or sdept IS) and sname like 张% --⑥查询缺少了成绩的学生的学号和课程号。 --select sno,Cno from sc where grade is null
--⑦查询成绩最高的前3名学生的学号、成绩。 --select top 3 sno,grade from sc order by grade desc
--⑧查询选修了课程号为C001的课程的成绩最差的3名学生的学号和成绩。 --select top 3 sno,grade from sc where cno C001 order by grade asc
--⑨统计各系2000年以后出生的学生的总人数并按总人数进行降序排列。 --SELECT sdept, COUNT(*) as total_students --FROM student --WHERE DATEDIFF(YEAR, 2000-01-01, GETDATE()) - sage 0 --GROUP BY sdept --ORDER BY total_students DESC;
--2连接查询参见实验指导书P40 --①查询每个学生的情况以及他她所选修的课程。 --select student.sno,sname,sgender,sage,sc.cno,cname,Ccredit,grade from sc --JOIN course ON sc.cno course.cno --join student ON sc.sno student.sno
--②查询学生的学号、姓名、选修的课程名及成绩。 --SELECT student.sno, student.sname, course.cname, sc.grade --FROM student --JOIN sc ON student.sno sc.sno --JOIN course ON sc.cno course.cno; --③查询选修了JAVA课程且成绩在90分以上的学生的学号、姓名及成绩。 --select sc.sno,sname,grade from sc --join student on sc.sno student.Sno --join course on sc.cno course.cno --and cname JAVA and grade90
--④查询每一门课程的间接先修课即先修课的先修课。 --select b.Cpno from course a,course b where a.Cpno b.cno
--⑤查询选修了课程名以“计算机”开头的课程的学生信息。 --select sc.sno,sname,sgender,sage,sdept from sc --join student on sc.sno student.Sno --join course on sc.cno course.cno --where cname like 计算机%
--⑥查询各系各门课程的平均成绩。 --select Sdept,cname,AVG(grade) from sc --join student on sc.sno student.Sno --join course on sc.cno course.cno --group by Sdept,cname
--⑦查询选修Java和计算机文化学的学生的学号、姓名和这两门课的平均成绩。 --SELECT sc.sno, student.sname, -- (AVG(CASE WHEN course.cname JAVA THEN sc.grade ELSE NULL END) -- AVG(CASE WHEN course.cname 计算机文化学 THEN sc.grade ELSE NULL END)) / 2 AS avg_grade --FROM sc --JOIN student ON sc.sno student.sno --JOIN course ON sc.cno course.cno --WHERE course.cname IN (Java, 计算机文化学) --GROUP BY sc.sno, student.sname --HAVING COUNT(DISTINCT course.cname) 2;
--⑧统计每个学生的选课门数包括没选课的学生列出学号、选课门数和选课情况其中选课情况显示规则为 --a.如果选课门数大于或等于6门则选课情况为较多 --b.如果选课门数在3-5门之间则选课情况为一般 --c.如果选课门数在1-2门则选课情况为较少 --d.如果没有选课则选课情况为未选课。 --select student.sno,count(sc.cno), --(case when count(sc.Cno)6 then 较多 --when count(sc.Cno)3 and count(sc.Cno)5 then一般 -- when count(sc.Cno)1 and count(sc.Cno)2 then较少 -- else 未选课 end)from student -- LEFT JOIN sc ON student.sno sc.sno --group by student.sno
--3嵌套查询参见实验指导书P40 --①查询选修了JAVA课程的学生的学号和姓名。 --方法一 --select sc.sno,sname from sc --join student on sc.sno student.sno --join course on course.cno sc.cno --and cname JAVA
--方法二 --select sno,sname from student where sno --(select sno from sc where cno --(select cno from course where cname JAVA) )
--②查询其它系中年龄小于计算机系年龄最大者的学生信息。 --select * from student where sage(select max(sage) from student where sdept IS) and sdept !IS --③查询其它系中比计算机系的学生年龄都小的学生信息。 --select * from student where sage(select min(sage) from student where sdept IS) and sdept !IS --④查询选修课程号为C001的课程的成绩高于张海的学生的学号和成绩。 --select sno,grade from sc where cno C001 -- and grade(select grade from sc where cno C001 -- and sno (select sno from student where sname 张海)) -- 子查询返回的值不止一个。当子查询跟随在 、!、、、、 之后 -- 或子查询用作表达式时这种情况是不允许的。
--⑤查询和李勇的高等数学课程分数相同的学生的学号。 --select sno from sc where grade --(select grade from sc where sno --(select sno from student where sname 李勇) --and cno (select cno from course where cname 高等数学))
--⑥查询没有选修c002课程的学生的姓名。 --select sname from student where sno!(select sno from sc where cno C002)
--⑦查询年龄大于女同学平均年龄的男同学的姓名和年龄。 --select sname,sage from student where -- sage(select AVG(sage) from student where sgender 女) and sgender 男
--⑧查询选修JAVA课程的学生成绩比此课程的平均成绩高的学生的学号和成绩。 --select sno,grade from sc where -- grade(select AVG(grade) from sc -- where cno (select cno from course where cname JAVA)) -- and cno (select cno from course where cname JAVA)
--4增加、删除、修改记录 --① 向表Student中插入一个学生元组属性值自拟。 --insert into student values (98008,刘备,男,35,MA)
--② 从表SC中删除尚无成绩的选课元组。 --delete sc where grade is null
--③ 检索每门课程成绩都大于80分的学生学号、姓名和性别结果存入Stu表。 --SELECT student.sno, sname, sgender --FROM student --JOIN sc ON student.sno sc.sno --GROUP BY student.sno, sname, sgender --HAVING MIN(grade) 80; -- group by 有一个原则,就是 select -- 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。
--④ 把低于总平均成绩的女同学成绩提高5%。 --UPDATE sc --SET grade grade * 1.05 --WHERE sno IN ( -- SELECT sno -- FROM student -- WHERE sgender 女 --) AND grade ( -- SELECT AVG(grade) -- FROM sc -- JOIN student ON sc.sno student.sno -- WHERE student.sgender 女 --); --⑤ 把钱小平同学的有关信息全部删掉。 --delete from student where sname 钱小平 --⑥ 把选修JAVA课不及格的成绩全改为0。 --update sc set grade 0 where grade60 and -- cno (select cno from course where cnameJAVA)