教学课件:第5章-关系数据库标准语言SQL.ppt
《教学课件:第5章-关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《教学课件:第5章-关系数据库标准语言SQL.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章关系数据库标准语言SQL1主主要要内内容容n5.1 SQL5.1 SQL的功能及特点的功能及特点n5.2 5.2 数据定义语句数据定义语句n5.3 5.3 数据查询语句数据查询语句n5.4 5.4 数据更新语句数据更新语句n5.6 5.6 数据控制语句数据控制语句25.3.1 5.3.1 查询语句语法查询语句语法 SELECTSELECT ALL|DCSTINCT ALL|DCSTINCT FROMFROM WHEREWHERE GROUP GROUP BYBY HAVINGHAVING ORDER BYORDER BY ASC|DESC ASC|DESC ;3nSELECTSELECT
2、子句:子句:指定要显示的属性列指定要显示的属性列;nFROMFROM子句:子句:指定查询对象指定查询对象(基本表或视图基本表或视图);nWHEREWHERE子句:子句:指定查询条件指定查询条件;nGROUP GROUP BYBY子子句句:对对查查询询结结果果按按指指定定列列的的值值分分组组,该该属属性性列列值值相相等等的的元元组组为为一一个个组组。通通常常会会在在每每组组中中使使用聚集函数。用聚集函数。nHAVINGHAVING短语:短语:筛选出只有满足指定条件的组筛选出只有满足指定条件的组;nORDER BYORDER BY子句:子句:对查询结果表按指定列值的升序或对查询结果表按指定列值的升
3、序或降序排序降序排序;5.3.1 5.3.1 查询语句语法查询语句语法45.3.2简单查询 指指FROMFROM子子句句中中仅仅涉涉及及一一个个表表的的查查询询,是是一一种种最最简单的查询操作。简单的查询操作。一、选择表中的若干列一、选择表中的若干列 二、选择表中的若干元组二、选择表中的若干元组 三、对查询结果排序三、对查询结果排序 四、使用聚集函数四、使用聚集函数 五、对查询结果分组五、对查询结果分组 5示例数据库学生课程库,包含学生课程库,包含3 3个基本表,结构为:个基本表,结构为:nStudent(SnoStudent(Sno,SnameSname,SsexSsex,SageSage,
4、Sdept)Sdept)nCourse(CnoCourse(Cno,CnameCname,CpnoCpno,Ccredit)Ccredit)nSC(SnoSC(Sno,CnoCno,Grade)Grade)61.查询指定列例例1查询全体学生的学号与姓名。查询全体学生的学号与姓名。SELECTSname,Sno,SdeptFROMStudent;例例2查询全体学生的姓名、学号、所在系。查询全体学生的姓名、学号、所在系。SELECTSno,SnameFROMStudent;72.查询全部列例例3查询全体学生的详细记录。查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,Sd
5、eptFROMStudent;或或SELECT*FROMStudent;83.查询经过计算的值SELECT子句的子句的为表达式为表达式算术表达式算术表达式字符串常量字符串常量函数函数列别名等列别名等9例4查全体学生的姓名及其出生年份。SELECTSname,2007-SageFROMStudent;输出结果:Sname2007-Sage-王林1989张大民1988顾芳1988姜凡1989葛波1988算术表达式算术表达式可以给列或表达式起别名:可以给列或表达式起别名:SELECT SnameSELECT Sname,2007-Sage 2007-Sage AS BirthYearAS Birth
6、YearFROM StudentFROM Student;保留字保留字ASAS可以省略可以省略104.消除取值重复的行在SELECT子句中使用DISTINCT短语假设SC表中有下列数据SnoCnoGrade-2007001192200700128520070013882007002290200700238011ALL与DISTINCT例5查询选修了课程的学生学号。SELECTSnoFROMSC;或(默认ALL)SELECTALLSnoFROMSC;结果:Sno-2007001200700120070012007002200700212例题(2)SELECTDISTINCTSnoFROMSC;该
7、语句则去掉了重复元组结果:Sno-2007001200700213例题(续)n注意注意DISTINCT短语的短语的作用范围是所有目标列作用范围是所有目标列例:查询选修课程的各种成绩例:查询选修课程的各种成绩错误错误的写法的写法SELECTDISTINCTCno,DISTINCTGradeFROMSC;正确的写法正确的写法SELECTDISTINCTCno,GradeFROMSC;145.WHERE子句常用的运算符常用的运算符查询条件查询条件谓谓词词比较比较=,=,=,确定范围确定范围BETWEENAND,NOTBETWEENAND字符匹配字符匹配LIKE,NOTLIKE确定集合确定集合IN,N
8、OTIN空值空值ISNULL,ISNOTNULL逻辑运算符逻辑运算符AND,OR,NOT15(1)比较大小例1查询所有年龄在20岁以下的学生姓名及其年龄。SELECTSname,SageFROMStudentWHERESage=20;16(2)确定范围n使用谓词使用谓词BETWEENANDNOTBETWEENAND例例2查询年龄在查询年龄在2023岁(包括岁(包括20岁和岁和23岁)之间的岁)之间的学生的姓名、系别和年龄学生的姓名、系别和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;17例题(续)例例3查查询询年年龄龄不
9、不在在2023岁岁之之间间的的学学生生姓姓名名、系系别别和年龄。和年龄。SELECTSname,Sdept,SageFROMStudentWHERESageNOTBETWEEN20AND23;18使用谓词使用谓词 IN IN,NOT IN NOT IN 例4查询计算机系(CS)、数学系(MA)学生的姓名和性别。SELECTSname,SsexFROMStudentWHERESdeptIN(CS,MA);(3)确定集合19(3)确定集合例例5查查询询不不是是计计算算机机系系、数数学学系系的的学学生生的的姓名和性别。姓名和性别。SELECTSname,SsexFROMStudentWHERESde
10、ptNOTIN(CS,MA);20(4)涉及空值的查询使用谓词使用谓词ISNULL或或ISNOTNULL“ISNULL”不能用不能用“=NULL”代替代替例例13某些学生选修课程后没有参加考试,所以有选课某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。和相应的课程号。SELECTSno,CnoFROMSCWHEREGradeISNULL;21例题(续)例14查所有有成绩的学生学号和课程号。SELECTSno,CnoFROMSCWHEREGradeISNOTNULL;22(6)多重条件查询用逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 关系 数据库 标准 语言 SQL
限制150内