欢迎来到天天文库
浏览记录
ID:57001630
大小:428.00 KB
页数:37页
时间:2020-07-26
《数据库系统概论高等教育课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库标准语言SQLSQL结构化查询语言功能强大表3.1SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATEDELETE数据控制GRANT,REVOKEStudent表(学号)Sno(姓名)Sname(性别)Ssex(年龄)Sage(系别)Sdept200215121200215122200215123200215125…李勇刘晨王敏张立…男女女男…20191819…CSCSMAIS…如何返回所有同学的姓名?如何返回“王敏”同学的信息?如何从大量数据中获取所需数据呢?数据查询数据查询基本格式
2、语句格式SELECT<列表达式1>[,<列表达式2>]…FROM<表名或视图名>1、关键字:selectfrom必需之间要有空格不区分大小写2、列表达式3、表名或视图名第三章关系数据库标准语言SQL3.4数据查询--单表查询一、选择表中的若干列二、选择表中的若干元组三、ORDERBY子句四、聚集函数五、GROUPBY子句一、选择表中的若干列1、查询指定列2、查询全部列3、查询经过计算的值1、查询指定列[例1]查询全体学生的学号,姓名。[例2]查询全体学生的姓名、年龄。SELECTSno,SnameFROMStudentSELECTSname,SageFROMStudent2
3、.查询全部列方法:方法一:在SELECT关键字后面列出所有列名方法二:*[例3]查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudentSELECT*FROMStudent3.查询经过计算的值SELECT子句的<列表达式>可以为:算术表达式字符串常量函数列别名查全体学生的姓名及其出生年份。查询经过计算的值[例4]查全体学生的姓名及其出生年份。SELECTSname,2008-SageFROMStudent输出结果:Sname2008-Sage李勇1984刘晨1985王敏1986张立1985查询经过计算的值[例5]查询全体学
4、生的姓名、出生年份和所有系,要求用小写字母表示系名SELECTSname,‘YearofBirth:',2004-Sage,ISLOWER(Sdept)FROMStudent输出结果:Sname'YearofBirth:'2004-SageISLOWER(Sdept)李勇YearofBirth:1984cs刘晨YearofBirth:1985cs王敏YearofBirth:1986ma张立YearofBirth:1985is查询经过计算的值使用列别名改变查询结果的列标题:select列表达式列别名from表名SELECTSname,2008-Sage出生年份FROMStud
5、ent输出结果:Sname出生年份李勇1984刘晨1985王敏1986张立1985二、选择表中的若干元组1、消除取值重复的行2、查询满足条件的元组1)比较大小2)确定范围3)确定集合4)字符匹配5)涉及空值的查询6)多重条件查询1.消除取值重复的行如果没有指定DISTINCT关键词,则缺省为ALL[例6]查询选修了课程的学生学号。SELECTSnoFROMSC;等价于:SELECTALLSnoFROMSC;执行上面的SELECT语句后,结果为:Sno200215121200215121200215121200215122200215122消除取值重复的行(续)指定DISTI
6、NCT关键词,去掉表中重复的行SELECTDISTINCTSnoFROMSC;执行结果:Sno2002151212002151222.查询满足条件的元组查询条件谓词比较=,>,<,>=,<=,!=,<>,!>,!<;NOT+上述比较运算符确定范围BETWEENAND,NOTBETWEENAND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重条件(逻辑运算)AND,OR,NOT表3.4常用的查询条件(1)比较大小[例7]查询计算机科学系全体学生的名单。SELECTSnameFROMStudentWHERESdept=‘CS’;[
7、例8]查询所有年龄在20岁以下的学生姓名及其年龄。SELECTSname,SageFROMStudentWHERESage<20;[例9]查询考试成绩有不及格的学生的学号。SELECTDISTINCTSnoFROMSCWHEREGrade<60;(2)确定范围谓词:BETWEEN…AND…NOTBETWEEN…AND…[例10]查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;[例
此文档下载收益归作者所有