查询练习作业教学文稿.docx

上传人:b****2 文档编号:2316415 上传时间:2023-05-03 格式:DOCX 页数:30 大小:775.62KB
下载 相关 举报
查询练习作业教学文稿.docx_第1页
第1页 / 共30页
查询练习作业教学文稿.docx_第2页
第2页 / 共30页
查询练习作业教学文稿.docx_第3页
第3页 / 共30页
查询练习作业教学文稿.docx_第4页
第4页 / 共30页
查询练习作业教学文稿.docx_第5页
第5页 / 共30页
查询练习作业教学文稿.docx_第6页
第6页 / 共30页
查询练习作业教学文稿.docx_第7页
第7页 / 共30页
查询练习作业教学文稿.docx_第8页
第8页 / 共30页
查询练习作业教学文稿.docx_第9页
第9页 / 共30页
查询练习作业教学文稿.docx_第10页
第10页 / 共30页
查询练习作业教学文稿.docx_第11页
第11页 / 共30页
查询练习作业教学文稿.docx_第12页
第12页 / 共30页
查询练习作业教学文稿.docx_第13页
第13页 / 共30页
查询练习作业教学文稿.docx_第14页
第14页 / 共30页
查询练习作业教学文稿.docx_第15页
第15页 / 共30页
查询练习作业教学文稿.docx_第16页
第16页 / 共30页
查询练习作业教学文稿.docx_第17页
第17页 / 共30页
查询练习作业教学文稿.docx_第18页
第18页 / 共30页
查询练习作业教学文稿.docx_第19页
第19页 / 共30页
查询练习作业教学文稿.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

查询练习作业教学文稿.docx

《查询练习作业教学文稿.docx》由会员分享,可在线阅读,更多相关《查询练习作业教学文稿.docx(30页珍藏版)》请在冰点文库上搜索。

查询练习作业教学文稿.docx

查询练习作业教学文稿

一、使用SQL语句创建数据库Neusoft,该数据库中包含以下三个表格:

1.Course表

列名

说明

数据类型

约束

Cno

课程号

字符串,长度为10

主码

Cname

课程名

字符串,长度为20

非空

Ccredit

学分

整数

取值大于0

Semster

学期

整数

取值大于0

Period

学时

整数

取值大于0

2.Student表

列名

说明

数据类型

约束

Sno

学号

字符串,长度为7

主码

Sname

姓名

字符串,长度为10

非空

Ssex

性别

字符串,长度为2

取‘男’或‘女’

Sage

年龄

整数

取值15~45

province

所属省份

字符串,长度为20

默认为‘北京’

Sdept

所在系

字符串,长度为20

默认为‘计算机系’

3.SC表

列名

说明

数据类型

约束

Sno

学号

字符串,长度为7

主码,引用Student的外码

Cno

课程名

字符串,长度为10

主码,引用Course的外码

Grade

成绩

整数

取值0~100

二、使用Insert语句向数据库表格中添加数据,各个表中的样本数据:

Course表数据样本:

Cno

Cname

Ccredit

Semster

Period

c01

数据结构

3

1

64

c02

VB程序设计

2

2

32

c03

计算机网络

4

3

64

c04

数据库原理与应用

4

4

64

c05

高等数学

6

1

64

c06

计算机文化基础

5

3

64

Student表数据样本:

Sno

Sname

Ssex

Sage

province

Sdept

0750101

李南

19

北京

计算机系

0750122

王平

20

山东

计算机系

0750202

王敏

20

河南

计算机系

0750201

张伟

22

北京

信管系

0750323

吴会

21

河北

信管系

0750423

张海

20

山东

信管系

0750303

董伟

18

天津

艺术系

0750422

王英

19

北京

艺术系

SC表数据样本:

Sno

Cno

Grade

0750101

c01

90

0750101

c02

89

0750101

c03

76

0750122

c01

88

0750122

c02

89

0750122

c03

77

0750122

c04

67

0750122

c05

69

0750122

c06

79

0750422

c01

78

0750422

c04

68

0750303

c01

78

0750303

c04

87

0750323

c01

80

简单的查询:

先建以上的三个表

(1)查询全体学生的学号、姓名,要求按学号进行升序排列。

selectSno,Sname

fromStudentORDERBYSnoasc;

(2)查询所有课程信息,要求列的顺序与COURSE表中的列序一致。

select*

fromCourse

(3)查询SC表中总成绩小于70分的学生学号,成绩,并给出临时标题。

selectGradeas总成绩,Sno

fromSC

whereGrade<70

(4)查询SC表中所有学生的学号,消除结果集中的重复行。

selectdistinctSnofromSC;

(5)查询选修了‘c03’号课程且成绩在70分以上的学生学号与成绩。

selectSno,Grade

fromSC

whereSC.Cno='c03'andSC.Grade>='70';

(6)查询‘c03’号课成绩在70-80分之间的学生学号。

selectSno

fromSC

whereSC.Gradebetween70and80andSC.Cno='c03';

(7)查询‘计算机系’,‘信管系’学生的全部信息。

select*

fromStudent

whereStudent.Sdept='计算机系'or

Student.Sdept='信管系';

(8)查询‘c03’号课程成绩加上10分后的学生学号和成绩,要求给出临时标题。

正确为:

selectSno,Grade+10as'成绩'fromCourse,SC

whereCourse.Cno=SC.CnoandCourse.Cno='C03'

(9)查询‘9512102’号学生所选修的课程和成绩信息。

selectCno,Grade

fromSC

whereSno='9512102';

(10)查询Student表中前3个记录。

selecttop3*

fromStudent;

11)查询名字中含有‘王’字的学生信息。

select*

fromStudent

whereSnamelike'%王%';

(12)查询课程名中不含‘数据’字样的课程信息

select*

fromCourse

whereCnamenotlike'%数据%';

(13)查询全体学生的姓名及出生年份。

selectSname,Sage

fromStudent

(14)查询包含‘DB_’的课程信息。

select*

fromCourse

whereCnamelike'%DB_%'

(15)查询所有成绩为空的学生学号和课号

selectSno,Cno

fromSC

whereGradeisnull

(16)按照学号的升序,课程号的降序查询学生的成绩信息。

selectGrade,Sno,Cno

fromSC

orderbySnoasc,Cnodesc;

(17)查询年龄不在20~23之间的学生姓名、所在系和年龄。

selectSname,Sage,Sdept

fromStudent

whereSagenotbetween20and23;

(18)查询名字中第2个字为‘小’或‘大’字的学生的姓名和学号。

selectSname,Sno

fromStudent

whereSnamelike'_[大小]';

(19)查询全体学生的信息,查询结果按所在系的系名升序排列,同一系的学生按年龄降序排列。

selectSno,Sname,Sno

fromStudent

orderbySdept,Sagedesc;

20查询学生选修信息表,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序

首先要新建一个<学生选修信息表>,善后进行查询;

select*from学生选修信息表orderbygradeasc;

21、查询<学生信息表>,查询学生"吴会"的全部基本信息

Select*form学生信息表wherename=‘吴会’

22、查询<学生信息表>,查询学生"张三"和”李四”的基本信息

select*from学生选课信息表wheresname='张三'orsname='李四’

23、查询<学生信息表>,查询姓"张"学生的基本信息

Select*from学生选课信息表wheresnamelike'张%'

24、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息

select*from学生选课信息表

wheresnamelike'%四%'

26、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息。

Select*from学生选课信息表

wheresnamelike'%李%'orsnamelike'%张%'

27、查询<学生信息表>,查询姓"王"并且"所属省份"是"北京"的学生信息

select*from学生选课信息表wheresnamelike'王%'andprovince='北京'

28、查询<学生选课信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息

select*from学生选课信息表whereprovince='北京'orprovince='上海'orprovince='新疆'

29、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息

select*from学生选课信息表wheresnamelike'张%'andprovince<>'北京'

30、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序

Select*from学生选课信息表orderbySsex,province,sdeptdesc

31、查询<学生信息表>,查询现有学生都来自于哪些不同的省份

selectprovincefrom学生选课信息表

32、查询学生选修信息表,查询没有填写成绩的学生的学号、课程号和成绩

Select*from学生选课信息表where学生选课信息表.gradeisnull

\四、高级查询

(1)统计每个系的学生人数。

Selectcount(Sdept)fromStudent

(2)查询信管系的最大年龄和最小年龄。

selectmax(Sage)'最大年龄',min(Sage)'最小年龄'

fromStudent

whereSdept='信管系'

(3)查询信管系的最大年龄和最小年龄的学生姓名。

selectmin(Sage)fromStudentwhereSdept='信管系'

unionall

selectmax(Sage)fromStudentwhereSdept='信管系'

andSdept='信管系'

(4)统计选修‘C01’课程的学生的最高分,最低分、总成绩及平均分。

selectMAX(Grade),min(Grade),sum(Grade),avg(Grade)

fromSC

(5)查询所有学生的选课信息,要求列出学生学号、姓名、课程名和成绩。

selectStudent.Sno,Student.Sname,Course.Cname,Sc.Grade

fromStudent,SC,Course

(6)统计每门课程的选修人数。

selectSC.Cno,count(SC.Cno)

fromSC

groupbySC.Cno

(7)统计每个学生选修的课程门数及总成绩。

selectSno,课程门数=count(Cno),总成绩=sum(Grade)

fromSC

groupbySno

(8)查询哪些课程没有人选修,要求列出课程号、课程名。

selectCno,Cname

fromCourse

whereCnonotin(selectCnofromSC)

(9)查询各科平均成绩超过80分的学生姓名。

selectSname

fromStudent

whereSnoin(SELECTSnofromSCGROUPBYSnohavingavg(Grade)>80)

(10)查询选修了‘C03’号课程的同学所在的系及该同学的姓名。

selectSdept,Sname

fromStudent

whereSnoin(selectSnofromSCwhereCno='c03'groupbySno)

(11)查询‘数据库基础’这门课的成绩在80分以上的学生姓名。

selectSname

fromStudent

whereSnoin(selectSnofromSCwhereCno

in(selectCnofromCoursewhereCname='数据库原理')andGrade>80groupbySno)

(12)统计平均成绩大于70分的课程名。

selectCname

fromCourse

whereCnoin(selectCnofromSCgroupbyCnohavingavg(Grade)>70)

(13)统计平均成绩大于70分的学生姓名及所在系。

selectSname,Sdept

fromStudent

whereSnoin(selectSnofromSCgroupbySnohavingavg(Grade)>70)

(14)从学生管理数据库的三张表中检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。

selectStudent.Sno,Sname,Course.Cno,Cname,Grade

fromStudent,SC,Course

whereStudent.Sno=SC.SnoandCourse.Cno=SC.Cno

(15)使用不带HAVING的GROUPBY子句汇总出SC表中的学生的学号及总成绩。

SelectSno,SUM(Grade)

fromSCgroupbySno

(16)使用带HAVING的GROUPBY子句汇总出SC表中总分大于150分的学生的学号及总成绩。

SELECTSno,SUM(Grade)

fromSC

groupbySnohavingSUM(Grade)>150

(17)查询修了3门以上课程的学生的学号。

selectSno,Sname

fromStudent

whereSnoin(selectSnofromSCgroupbySnohavingcount(Cno)>3)

(18)查询信管系修了某课程的学生的修课成绩,要求列出学生姓名、课程名和成绩。

selectSname,Grade,CnamefromSC,Course,Studentwhere

SC.Cno=Course.CnoandStudent.Sno=SC.SnoandSdept='信管系'

19统计学生选修信息表,统计每个课程的选修人数

Selectcount(*)from学生选课信息表

20、统计学生选修信息表,统计每个同学的总成绩

SelectSno,sum(grade)as总成绩from学生选课信息表groupbySno

21、统计<学生信息表>,统计每个班级中每种性别的学生人数,并按照班级排序

selectsemsteras班级,ssexas性别,count(*)as人数from学生选课信息表groupbysemster,ssex

orderbysemster

22、统计学生选修信息表,统计每门课程的平均成绩,并按照成绩降序排

Selectcno,avg(grade)as平均成绩from学生选课信息表groupbyCnoorderbyavg(grade)desc

23、统计学生选修信息表,显示有两门以上课程不及格的学生的学号

Selectsnoas'不及格学生学号'fromscwheregrade<60

24、统计<学生信息表>,统计每个班级中的最大年龄是多少

selectmax(sage)as'最大年龄'from学生选课信息表

25、用子查询实现,查询选修“高等数学”课的全部学生的总成绩

selectsum(grade)as高等数学总成绩from学生选课信息表wherecno=(selectcno

from学生选课信息表wherecname='高等数学')

26、用子查询实现,统计学生选修信息表,显示学号为"0750101"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩

selectgrade,cnofrom学生选课信息表wheresno='0750101'andgrade=(selectmax(grade)

from学生选课信息表wheresno='0750101')

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2