资源描述:
《SQL语言复习材料.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQL语言复习材料注意:1、'为英文单引号,所有符号要求为英文符号2、单词之间除符号分隔以外,均需空格分开3、SQL语句中逻辑运算符两侧的点可以省略,比如:.AND.等同于AND1.SQL-SELECT简单查询练习(1)查询指定列①从XSB查询所有男同学的个人记录,显示所有字段。命令:select*fromxsbwhere性别='男'②查询所有同学的学号、姓名、性别、专业和高考分数。命令:select学号,姓名,性别,专业,高考分数fromxsb③查询所有同学的姓名、学号、课程名、学期和成绩。(直接用视图cjst做数据源)命令:select学号,姓名,课程名,学期,成绩from
2、cjst(2)查询经过计算的列列出所有同学的学号、姓名、性别、专业和年龄。(提示:年龄需要计算)命令:select学号,姓名,性别,专业,year(date())-year(出生日期)as年龄fromxsb(3)去掉重复值查询成绩表(CJB)中不重复同学的学号(即去掉重复的学号)。命令:selectdist学号fromcjb(4)条件查询①查询XSB中工业工程专业男同学的信息。命令:select*fromxsbwhere专业='工业工程'.and.性别='男'②查询XSB中1983年出生的企业管理专业同学的学号、姓名、性别、高考分数和出生日期等信息。命令:select学号,姓名
3、,性别,高考分数,出生日期fromxsb;where专业='企业管理'.and.year(出生日期)=1983③从视图(cjst)中查询所有不及格的记录信息。命令:select*fromcjstwhere成绩<60(5)对查询结果进行排序查询XSB中市场营销专业全体学生情况,要求查询结果按高考分数降序排列。命令:select*fromxsbwhere专业='市场营销';orderby高考分数desc(6)分组和使用库函数①统计输出每个同学各门课程的期末考试成绩,显示学号以及各门课程的最高分、最低分和平均分并按降序排列。(提示:从CJB查询,需要分组和排序)命令:select学号
4、,max(成绩)as最高分,min(成绩)as最低分,;avg(成绩)as平均分fromcjbgroupby学号;orderby平均分desc②统计输出每门课程的期末考试成绩的选修人数和平均分,显示课程号以及各门课程的平均分并按课程号升序排列。(提示:从CJB查询,需要分组和排序)命令:select课程号,count(*)as选修人数,avg(成绩)as平均分;fromcjbgroupby课程号;orderby课程号③查询选修人数多于20的各门课程的期末考试成绩,显示CJB的所有字段,按课程号升序排列。(提示:需要按课程号分组并对分组有要求)命令:select课程号,count
5、(*)as选修人数,avg(成绩)as平均分;fromcjbgroupby课程号havingcount(*)>20;orderby课程号提示:注意分组中HAVING子句的应用(选修人数的限制)比较②③两个查询的不同.(7)集合条件查询练习①从XSB中查询“工业工程”和“信息管理”两个专业的同学名单,显示所有字段。解1:要求用集合查询命令:select*fromxsb;where专业in('工业工程','信息管理')解2:要求不用集合查询命令:select*fromxsb;where专业='工业工程'OR专业='信息管理'②从XSB中查询不是“工业工程”和“信息管理”两个专业的同
6、学名单,显示所有字段。解1:要求用集合查询命令:select*fromxsb;where专业notin('工业工程','信息管理')解2:要求不用集合查询命令:select*fromxsb;where专业<>'工业工程'AND专业<>'信息管理'(8)不同查询去向练习①将实验6中建立的视图ST1的所有记录保存到表xs_nan中。命令:SELECT*FROMst1INTOTABLExs_nan②统计输出每个专业同学的高考平均分并保存到表GKPJF中,字段包括专业、高考平均分,按高考平均分降序排列。(提示:从Xsb查询,需要分组和排序)命令:select专业,AVG(高考分数)AS
7、高考平均分FROMXSB;GROUPBY专业ORDERBY高考平均分DESCINTOTABLEgkpjf③统计输出每个专业同学的高考平均分并保存到临时表TEMP1中,字段包括专业、高考平均分,按高考平均分降序排列。(提示:从Xsb查询,需要分组和排序)命令:select专业,AVG(高考分数)AS高考平均分FROMXSB;GROUPBY专业ORDERBY高考平均分DESCINTOCURSORTEMP1试分析以上两个查询有何不同?④查询“计算机科学”专业同学的高考成绩,只显示高分的前6名的学号