使用高级查询语言SQL.pptVIP

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

第11章 使用高级查询语言SQL 11.1 SQL语言概述 11.2 SQL的数据定义功能 11.3 SQL的数据操纵功能 11.4 Access中SQL查询的设计 SQL的体系结构 一个SQL数据库是表的汇集,它用一个或若干个SQL模式定义。 基表是实际存储的数据库中的表,而视图是若干个基表或其他视图构成的集合的子集。 一般情况下,一个基表与存储文件相对应,一个存储文件与外部存储器上一个物理文件相对应。 1. 基表的创建、删除和修改 1)定义基本表 定义一个基表相当于建立一个新的关系模式,也就是定义一个关系的基本框架,此时基表中还没有数据。 定义基表就是对基表的名称,以及基表中的各个字段以及数据类型作出具体规定。 SQL语言的数据类型 INTEGER 全字长整数,范围从负10位整数到正10位整数。 SMALLINT 半字长整数,范围从-99999带99999 DECIMAL(m,n) 十进制数,共m个数字位,小数点后有n位,另外可带+,-号。 CHAR(n) 固定长度的字符串,长度为n VARCHAR(n) 可变长度的字符串,长度最大为n FLOAT 双字长浮点数。 DATE 存储日期时间值,最多8个字节。 说明: SQL语言支持空,即NULL的概念,空值是不知道或不能用的值,如果基表中某一列的定义不允许出现空值,则要加上NOT NULL。 UNIQUE表示取值唯一。 3)删除基本表 语句格式为: DROP TABLE 表名; 功能:从数据库中删除一个基本表及其全部内容。 例11-6 将学生表student删除。 DROP TABLE student; 应先备份学生表,然后再删除 1)索引的创建 语句格式为: CREATE [UNIQUE] INDEX 索引名 ON 基表名(列名1[ASC|DESE] [,列名2 [ASC|DESC]]); 功能:在指定的基本表之上建立由“索引名”命名的索引。 视图的定义和取消 数据库系统中一般都有若干个基表。在基表中保存着多个用户共享的数据。某一个具体应用可能只使用其中一部分数据,基表的字段有时也不能直接满足用户的具体要求。我们可以从一个或多个基表以及现有的视图导出适合具体应用的视图。 基表和视图都是关系,但视图是虚表,不对应于一个存储的数据文件。 建立和使用视图,可以简化查询命令。 将视图授权给用户,可以避免暴露全部的基表。 建的学生视图,视图名为c_student. CREATE VIEW c_student AS SELECT st_class, st_no, st_name, st_sex, st_age FROM student WHERE st_class= 其中,SELECT子句中用逗号分开的表达式为查询目标。 FROM子句指出查询目标及下面WHERE子句的条件中涉及的所有关系的关系名。 我们以一个简单的学生选修课程管理关系数据模型为基础。 假设该模型包含以下三个关系模式: 学生(学号、姓名、性别、出生日期、班级、籍贯) 选课(学号、课程编号、课程类型) 课程(课程编号、课程名称、学分、学时) 成绩(学号、高等数学、大学物理、英语) 联接查询 查询目标涉及到两个或几个关系,就需要进行联接运算,联接运算一般是在from语句中提出关系名称,而在where子句中则指明联接的条件。 例1 查询学生“王东”选修的所有课程的编号和名称 Select 姓名,课程.课程编号,课程.课程名称 From 学生,选课,课程 Where 学生.学号=学课.学号 and 学生.姓名=‘王东平’ and 学课.课程编号=课程.课程编号 例2 查询选修了课程编号为’TA11011’的课程的学生 Select * From 学生,选课 Where 学生.学号=选课.学号 and 选课.课程编号=‘TA11011’ 嵌套查询 又称为子查询,它是指允许一条select语句作为另一条SQL语句中的一部分,一般是WHERE子句中又包含SELECT子句,它用于较复杂的跨多个基本表查询的情况。 例1 查询选修了”数据库技术”的学生姓名和班级. Select 姓名,班级 From 学生 Where 学号 in (select 学号 from 选课 where 课程编号 in ( select 课程编号 from 课程 where 课程名称=‘数据库技术’ )) Select 姓名,班级 From 学生,选课,课程

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档