欢迎来到天天文库
浏览记录
ID:46868561
大小:98.50 KB
页数:51页
时间:2019-11-28
《表示取查询结果的前n 行; TOP _n_ PERCENT_ 表示取查询结果的前n ...》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章基本SQL查询1.查询1)概述2)单表查询3)简单连接查询4)简单查询的综合应用实例:学生-选课-成绩关系数据库学生表(student),课程表(course),选课表(sc)该数据库中表结构说明如下:学生表student:学号(Sno字符型),姓名(Sname字符型),性别(Ssex字符型),年龄(Sage),出生日期(Sdate日期型),系(Sdept),其中Sno为主码;课程表course:课程号(Cno字符型),课程名(Cname字符型),任课教师(Teacher字符型),学分(Ccredit),其中Cno为主码;学生选课表sc:学号Sno、课程号Cno,
2、修课成绩Grade,其中(Sno,Cno)为主码。1)概述语句格式SELECT[ALL
3、DISTINCT][TOP<数值表达式>][PERCENT]<目标列表达式>[,<目标列表达式>]…FROM<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC
4、DESC]];SELECT子句:指定要显示的属性列FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件GROUPBY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集
5、函数。HAVING短语:筛选出只有满足指定条件的组ORDERBY子句:对查询结果表按指定列值的升序或降序排序2)单表查询查询仅涉及一个表,是一种最简单的查询操作一、选择表中的若干列二、选择表中的若干元组三、对查询结果排序四、使用集函数五、显示部分结果六、将查询结果存入表中七、对查询结果分组一、选择表中的若干列a.查询指定列及全部列[例]查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent;[例]查询全体学生的姓名、学号、所在系。SELECTSname,Sno,SdeptFROMStudent;[例]查询全体学生的详细记录。SELECTSno,S
6、name,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent;b.查询经过计算的值SELECT子句的<目标列表达式>为表达式算术表达式字符串常量函数列别名等b.查询经过计算的值[例]查全体学生的姓名及其出生年份。SELECTSname,2006-SageFROMStudent;输出结果:Sname2006-Sage----------------------李勇1976刘晨1977王名1978张立1977b.查询经过计算的值[例]查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。SELECTSname,'Year
7、ofBirth:',2006-Sage,LOWER(Sdept)FROMStudent;例题(续)输出结果:Sname'YearofBirth:'2006-SageLOWER(Sdept)----------------------------------------------李勇YearofBirth:1976cs刘晨YearofBirth:1977is王名YearofBirth:1978ma张立YearofBirth:1977is[例]使用列别名改变查询结果的列标题SELECTSnameNAME,'YearofBirth:'BIRTH,2006-SageBIRTH
8、DAY,LOWER(Sdept)DEPARTMENTFROMStudent;输出结果:NAMEBIRTHBIRTHDAYDEPARTMENT------------------------------------------------------李勇YearofBirth:1976cs刘晨YearofBirth:1977is王名YearofBirth:1978ma张立YearofBirth:1977is二、选择表中的若干元组消除取值重复的行查询满足条件的元组a.消除取值重复的行在SELECT子句中使用DISTINCT短语假设SC表中有下列数据SnoCnoGrade--
9、-------------------9500119295001285950013889500229095002380ALL与DISTINCT[例]查询选修了课程的学生学号。(1)SELECTSnoFROMSC;或(默认ALL)SELECTALLSnoFROMSC;结果:Sno-------9500195001950019500295002例题(续)(2)SELECTDISTINCTSnoFROMSC;结果:Sno-------9500195002例题(续)注意DISTINCT短语的作用范围是所有目标列例:查询选修课程的各种成绩错误的写法
此文档下载收益归作者所有