网站大量收购独家精品文档,联系QQ:2885784924

数据库应用技术教程第三章深入SQL.pptxVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

数据库应用技术

第三章深入SQL1/81

3.1SQL概述SQL的历史1970,StructuredEnglishQueryLanguage(SEQUEL),IBM1979,OracleSQL的标准化过程从SQL-86(ANSI)到SQL-2003(ANSI,ISO)SQL的设计初衷是给高级用户提供一种通用的、易于学习和理解的数据库操作方式。演变为给程序员使用的数据库标准接口。2/81

面向集合的操作方式,是关系代数的实现;高度非过程化。只需要提出“What”,不需要指出“How”;上下文无关,运行结果取决于数据;语言风格统一,类自然语言,简单易学;既是自含式语言,又是嵌入式语言*/81SQL的特点

SQL的分类*/81查询(DataQueryLanguage,DQL)SELECT操纵(DataManipulateLanguage,DML)INSERT,DELETE,UPDATE定义(DataDefinitionLanguage,DDL)CREATE,DROP,ALTER。控制(DataControlLanguage,DCL)GRANT,REVOKE,COMMIT,ROLLBACK。

SQL语句不区分大小写,可以写在多行,各个单词之间使用分隔符(空格,回车,制表符)分隔。SQL语句中的关键字属于保留字,不能用于其他地方。数字常量的写法和通常程序语言一致,字符串使用单引号包含,字符串中的单引号使用两个连续的单引号转义表示,不区分字符和字符串。*/81SQL的基本语法

为便于书写和阅读,通常采用如下的书写规范:1关键字大写,其他标识符小写字段名大写???2每个子句单起一行3使用制表符缩进4*/815SQL书写规范

标准与可移植性在SQL92标准中定义了四种级别:Entry,Transitional,Intermediate,andFull国际标准与各个厂商之间的不兼容性。事实上的不可移植性字符串连接||与+;专有的查询关键字数据类型与函数特殊语义;?可移植性神话7/81

3.2简单SELECT语句8/81

3.2.1基本语句*/81SELECT[DISTINCT|ALL][*|查询项列表]FROM表名;查询项:字段|表达式[[AS]别名]无条件:查询出表的所有记录。次序不确定、不稳定,依赖于数据库的实现。:按特定顺序列举所有字段。语法说明

当明确要查询哪些字段的时候,将字段名称列在SELECT的后面,这样语句含义清楚,性能也有所提高。[AS]别名:别名起到简化作用,通常还作为表达式的标题。特别是很多使用SQL的开发工具直接使用SELECT语句中每个查询表达式的名称作为标识符,这种情况下更需要给出别名。表达式与别名之间的AS是一个冗余的关键字,可以省略,直接以空白符分隔。DISTINCT|ALL:在整个查询内容前加上DISTINCT,返回结果中不重复的内容。不重复针对所有要查询的表达式集合而言。ALL是缺省值,列出包括重复的所有记录。另外,DISTINCT是一个比较费时间的操作,使用时需慎重。3.2.1基本语句

查询的内容可以是字段,也可以是由字段、常数通过运算符、函数构成的复杂表达式。这种计算要对表上的所有行都施加运算。SELECTsid,UPPER(sname),salary+100FROMsales;123.2.1基本语句

在某些情况下,也可能使用SQL计算纯粹常量表达式的值,如检索服务器当前时间。SELECTSYSDATE,1+2FROMsales;依赖于表中记录的数目,将得到若干行(也可能是0行)同样的结果。而这一般不是我们想要得到的结果。3.2.1基本语句

3.2.1基本语句如果明确地只想得到一行结果在MS-SQL和MySQL中,可以使用不带FROM子句的SELECT语句;SELECT1+2在Oracle中,不允许没有FROM子句。系统提供了一个名叫dual的表,保证其中只有一条记录,不依赖于表的计算可以使用这个表。SELECTSYSDATE,1+2FROMdual;13/81

3.2.2筛选WHERE逻辑表达式可以使用WHERE子句来筛选出满足某些条件的记录。=,,,=,=,它们都具有通常的含义。比较运算符的两端都可以是字段或者表达式。基本比较运算符BETWEENANDINLIKENULL的运算其他相当于比较运算符的结构NOTANDOR逻辑运算符

其他where条件1、BETWEEN…AND…如果要限定某个表达式的值在某个区间内,可以使用这个关键字。例:查询出薪水在1000和2000之间的记录的sid和salary值。 SELECTsid,sala

文档评论(0)

135****3907 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档