sqlserver经典查询练习Word下载.doc
- 文档编号:13162368
- 上传时间:2022-10-07
- 格式:DOC
- 页数:20
- 大小:74KB
sqlserver经典查询练习Word下载.doc
《sqlserver经典查询练习Word下载.doc》由会员分享,可在线阅读,更多相关《sqlserver经典查询练习Word下载.doc(20页珍藏版)》请在冰豆网上搜索。
孙风'
1990-05-20'
04'
李云'
1990-08-06'
05'
周梅'
1991-12-01'
女'
06'
吴兰'
1992-03-01'
07'
郑竹'
1989-07-01'
08'
王菊'
1990-01-20'
createtableCourse(C#varchar(10),Cnamenvarchar(10),T#varchar(10))
insertintoCoursevalues('
语文'
数学'
英语'
createtableTeacher(T#varchar(10),Tnamenvarchar(10))
insertintoTeachervalues('
张三'
李四'
王五'
createtableSC(S#varchar(10),C#varchar(10),scoredecimal(18,1))
insertintoSCvalues('
80)
90)
99)
70)
60)
50)
30)
20)
76)
87)
31)
34)
89)
98)
go
--1、查询"
01"
课程比"
02"
课程成绩高的学生的信息及课程分数
--1.1、查询同时存在"
课程和"
课程的情况
selecta.*,b.score[课程'
的分数],c.score[课程'
的分数]fromStudenta,SCb,SCc
wherea.S#=b.S#anda.S#=c.S#andb.C#='
andc.C#='
andb.score>
c.score
--1.2、查询同时存在"
课程的情况和存在"
课程但可能不存在"
课程的情况(不存在时显示为null)(以下存在相同内容时不再解释)
selecta.*,b.score[课程"
的分数],c.score[课程"
的分数]fromStudenta
leftjoinSCbona.S#=b.S#andb.C#='
leftjoinSCcona.S#=c.S#andc.C#='
whereb.score>
isnull(c.score,0)
--2、查询"
课程成绩低的学生的信息及课程分数
--2.1、查询同时存在"
andb.score<
--2.2、查询同时存在"
课程的情况和不存在"
课程但存在"
whereisnull(b.score,0)<
--3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
selecta.S#,a.Sname,cast(avg(b.score)asdecimal(18,2))avg_score
fromStudenta,scb
wherea.S#=b.S#
groupbya.S#,a.Sname
havingcast(avg(b.score)asdecimal(18,2))>
=60
orderbya.S#
--4、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩
--4.1、查询在sc表存在成绩的学生信息的SQL语句。
havingcast(avg(b.score)asdecimal(18,2))<
60
--4.2、查询在sc表中不存在成绩的学生信息的SQL语句。
selecta.S#,a.Sname,isnull(cast(avg(b.score)asdecimal(18,2)),0)avg_score
fromStudentaleftjoinscb
ona.S#=b.S#
havingisnull(cast(avg(b.score)asdecimal(18,2)),0)<
60
--5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩
--5.1、查询所有有成绩的SQL。
selecta.S#[学生编号],a.Sname[学生姓名],count(b.C#)选课总数,sum(score)[所有课程的总成绩]
fromStudenta,SCb
wherea.S#=b.S#
groupbya.S#,a.Sname
--5.2、查询所有(包括有成绩和无成绩)的SQL。
fromStudentaleftjoinSCb
ona.S#=b.S#
--6、查询"
李"
姓老师的数量
--方法1
selectcount(Tname)["
姓老师的数量]fromTeacherwhereTnamelikeN'
李%'
--方法2
姓老师的数量]fromTeacherwhereleft(Tname,1)=N'
李'
/*
"
姓老师的数量
-----------
1
*/
--7、查询学过"
张三"
老师授课的同学的信息
selectdistinctStudent.*fromStudent,SC,Course,Teacher
whereStudent.S#=SC.S#andSC.C#=Course.C#andCourse.T#=Teacher.T#andTeacher.Tname=N'
orderbyStudent.S#
--8、查询没学过"
selectm.*fromStudentmwhereS#notin(selectdistinctSC.S#fromSC,Course,TeacherwhereSC.C#=Course.C#andCourse.T#=Teacher.T#andTeacher.Tname=N'
)orderbym.S#
--9、查询学过编号为"
并且也学过编号为"
的课程的同学的信息
selectStudent.*fromStudent,SCwhereStudent.S#=SC.S#andSC.C#='
andexists(Select1fromSCSC_2whereSC_2.S#=SC.S#andSC_2.C#='
)orderbyStudent.S#
andexists(Select1f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 经典 查询 练习