- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 标准语言SQL 11-12-1
(1) 综合统一 (2) 高度非过程化 (3) 面向集合的操作方式 (4) 以同一种语法结构提供两种使用方法 (5) 语言简洁,易学易用 (1) SQL综合统一 非关系模型实现模型的三要素以及三级模式结构需要:数据定义语言DDL;数据操作语言DML;外模式定义语言SDDL;数据存储语言DSDL等不同语言。 关系模式中只需要SQL语言就可以了,而且并没有增加SQL语言的复杂度,反而很简单。 (2) 高度非过程化 非关系数据模型采用的是“面向过程”的语言,用户必须指明做什么、如何做等。 关系模型中的SQL语言是非过程化的语言,只需用户提出“做什么”就可以了,无须指明“怎么做”。系统会根据用户的需求自动选择数据操作方法。 (3)面向集合的操作方式 非关系模型如层次模型、网状模型中采用的是面向记录的操作方式,即实体是用数据结构中的结点来描述的,定义数据、操作数据都是面向结点的。 关系模型中数据定义和操作都是关系;关系的运算对象和运算结果也都是关系。也就是说运算是面向集合的。 (4) 以同一种语法结构提供两种使用方法 独立语言:独立的运行于联机终端,用户可以在终端直接敲入SQL语言提交执行。 嵌入式语言:SQL语句可以嵌入到高级语言(如C、Java、Pascal)程序中。 这两种结构下,SQL的语法基本上是一致的。 (5)语言简捷,易学易用 例: 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。 例: 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。 SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 单表查询仅涉及一个表,是一种最简单的查询操作,有以下五种形式: 1、选择表中的若干列(相当于投影运算) 2、选择表中的若干元组(相当于选择运算) 3、对查询结果排序(运算结果的处理) 4、使用集函数(运算结果的处理) 5、对查询结果分组 (运算结果的处理) 1、选择表中的若干列 查询单列 查询多列、全部列 查询经过计算的值 查询指定列(投影) ?例: 查询全体学生的姓名、学号、所在系。 SELECT Sname,Sno,Sdept FROM Student; 查询经过计算的值 SELECT子句的目标列可以为算术表达式、字符串常量、函数、列别名、其他 消除取值重复的行,相当于投影运算 查询满足条件的元组,相当于选择运算 消除取值重复的行 例:假设SC表中有下列数据 Sno Cno Grade ------- ------- ------- 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 查询满足条件的元组 (1) 比较大小 在WHERE子句的比较条件中使用比较运算符 =,,,=,=,!= 或 ,!,!, 逻辑运算符NOT + 比较运算符 例: 查询所有年龄在20岁以下的学生姓名及其年龄。 SELECT Sname,Sage FROM Student WHERE Sage 20; 或 SELECT Sname,Sage FROM Student WHERE Sage NOT = 20; (2) 确定范围 使用谓词 BETWEEN … AND … NOT BETWEEN … AND … 例: 查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AN
原创力文档


文档评论(0)