欢迎来到天天文库
浏览记录
ID:45632929
大小:998.00 KB
页数:106页
时间:2019-11-15
《《表中数据的操作》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章表中数据的操作本章要点:SQL的语句类型SQL的单表数据查询SQL多表连接查询数据操纵5.1SQL的语句类型(1)查询语言(QL)查询语言用来对已存在的数据库中的数据按照指定的组合、条件表达式或排序进行检索。它的基本结构是由SELECT子句、FROM子句、WHERE子句组成的查询块。(2)数据操纵语言(DML)DML的命令用来改变数据库中的数据,它有3个基本语句:INSERT(插入)、UPDATE(修改)、DELETE(删除)。(3)数据定义语言(DDL)DDL用来创建数据库中的各种对象,包括数据库模式、表、视
2、图、索引、同义词、聚簇等,它的基本语句有:CREATEDATABASE、CREATETABLE、CREATEVIEW、CREATEINDEX等。(4)数据控制语言(DCL)DCL用来授予或回收访问数据库的某种特权,控制数据操纵事务的发生时间及效果、对数据库进行监视等。数据控制基本语句有:GRANT、REVOKE、COMMIT、ROLLBACK、LOCK、UNLOCK等。SQL语言功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词:CREATE、DROP、ALTER、SEL
3、ECT、INSERT、UPDATE、DELETE、GRANT、REVOKE,如表4-1所示。而且SQL语言语法简单,接近英语口语,因此易学易用。表5-1SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE5.2SQL的单表数据查询SQL的SELECT语句用于检索数据。“SELECT-FROM-WHERE”的基本结构块:SELECTA1,A2,…,AnFROMR1,R2,…,RmWHEREP5.2.1
4、单表查询一、选择表中若干列1.查询指定的列例1、查询全体学生的学号和姓名。SELECT学号,姓名FROMStudent例2、查询全体学生的姓名、学号和所在系SELECT姓名,学号,所在系FROMStudent注:目标列的选择顺序可以与表中定义的列的顺序不一致2.查询全部列例3查询全体学生的详细记录。SELECT学号,姓名,性别,年龄,所在系FROMStudent等价于:SELECT*FROMStudent3、查询经过计算的列SELECT子句中的<目标列名序列>可以是表中存在的属性列,也可以是表达式的结果。例4查询全体
5、学生的姓名及出生年份。SELECT姓名,出生年份FROMStudent例5查询全体学生的姓名、出生年份和所在系,要求去掉所在系名右边的无用空格。SELECT姓名,出生年份,RTRIM(所在系)FROMStudent注:RTRIM()函数的作用是去掉右边的无用空格。改变列标题的语法格式为:列名
6、表达式[AS]列标题或:列标题=列名
7、表达式例如,对于例5可写成:SELECTSname姓名,2009-Sage出生年份,LTRIM(Sdept)所在系FROMStudent二、选择表中的若干元组1、消除取值相同的行如果要去掉结
8、果表中的重复行,可通过使用DISTINCT实现,DISTINCT要写在SELECT关键字的后边,其他修饰符和查询列标的前边。例6在修课表中查询有哪些学生修了课程,要求列出学生的学号,去掉重复列。SELECTDISTINCTSnoFROMSC2、查询满足条件的元组查询满足条件的元组是通过WHERE子句实现的。WHERE子句的格式为:WHERE<搜索条件><搜索条件>::={[NOT]<谓词>
9、(<搜索条件>)}[{AND
10、OR}[NOT]{<谓词>
11、(<搜索条件>)}]}[,…]常用的谓词如下表所示谓词种类谓词比较=,
12、>,>=,<=,<,<>,!=,!>,!<,NOT确定范围BETWEENAND,NOTBETWEENAND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重条件(逻辑谓词)AND,OR1)比较大小例7、查询计算机系全体学生的姓名SELECT姓名FROMStudentWHERESdept=‘计算机系’例8、查询所有年龄在20岁以下的学生的姓名和年龄。SELECT姓名,年龄FROMStudentWHERE年龄<20或SELECT姓名,年龄FROMStudentWHERENOT
13、年龄>=20注:通过使用NOT对条件取反进行的查询效率总是比较低的,因此,能用正的条件实现的查询尽量不要用反的条件实现(用NOT实现)例9、查询考试成绩有不及格的学生的学号。SELECTDISTINCT学号FROMSCWHEREGrade<60注:当一个学生有多门不及格课程时,只需列出一个学号,因此这里使用DISTINCT2)确定范围确定范围的
此文档下载收益归作者所有