分享

查询复习作业参考答案

 教育电力 2011-04-10

这里是以王巧梅作业为主批改后的结果,做的很不错,红色字体表示该同学尚未完成的部分,请其他同学对照学习

select 字段列表

from

where 条件

order by 字段 ASC/DESC

--查询成绩表中课程号为2,成绩在70~99之间的记录,按成绩升序排序(10%)(10

select score,courseid 
from score 
where courseid=2  and score >70 and score<99
order by score asc

 --查询学生表中地址是(南京、北京、东京、西安)的记录(10%)(10

select saddress    --按要求其他字段也应该列出,否则查询的记录无意义
from students
where saddress in(‘南京’, ‘北京’, ‘东京’, ‘西安' )

 --查询成绩表课程号为3的前3名成绩的记录按成绩降序排列(10%(8)

select top 3 *

from score

where courseid=3

order by score desc

 select 字段列表,聚合函数

from

group by字段列表

having 条件

--通过成绩表查出课程号及该门课平均成绩

 select courseid,avg(score) As 平均成绩(10%)(6

from score

group by courseid

 --查询每个同学每门课的平均成绩

select studentid,courseid,avg(score) As 平均成绩(4%(3)

from score

group by studentid,courseid

  

--查询成绩表中参加课程号为2的学生人数(distinct的使用,去除重考同学的计数)(1%

select courseid,count(distinct studentid)

from students

where courseid=2

group by courseid

--查询成绩表中课程平均成绩超80分的学号、课程号、平均成绩记录(有补考成绩)(1%

select studentid,courseid,avg(score) As 平均成绩

from score

group by studentid,courseid

having avg(score)>80

 函数的使用(len,left,right

--给学生表的身份证号cardid建立一个约束字符必须是15或者是18(3%

len(cardid)=15 or len(cardid)=18

--根据学生表的学号查询入学年份、姓名、班级记录、两位数的座号(3%

Select left(studentid,4) as 入学年份 ,sname,sclass

From studnets

多表查询

内连接查询

select A.字段列表,B.字段列表

from 1 as A

inner join 2 as B

on 两个表的主外键相等的条件

 另一种查询方法

select A.字段列表,B.字段列表

from 1 as A, 2 as B

where 连接条件

 --查询学生姓名、班级、课程号、成绩记录(10%

select A.Sname,A.Sclass,B.courseid,B.score

from students as A

inner join score as B

on A.Studentid=B.Studentid

--要查询学生姓名、班级、课程名、成绩所有记录(10%

SELECT

a.SName AS 姓名,a.Sclass As 班级, c.CName AS 课程,b.Score AS 成绩

FROM Students AS a

INNER JOIN Score AS b ON (a.StudentID = b.StudentID)

INNER JOIN Course AS c ON (c.CourseID = b.CourseID)


左外连接

主要考虑左表到底用两个表的哪个

--查询所有同学成绩(姓名、班级、成绩)没有参加考试的同学成绩以空值表示(6%

select A.Sname,A.Sclass,B.courseid,B.score

from students as A

left outer join score as B

on A.Studentid=B.Studentid

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多