结构化查询语言(SQL).docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
结构化查询语言(SQL) SQL概述 SQL的内容在笔试和上机考试中均占到大约30%的比例,此外它还是查询和视图的基础,因此是学习的重点也是难点。 SQL是结构化查询语言Structure Query Language的缩写。 SQL包含了查询功能、数据定义、数据操纵和数据控制功能,在VFP中没有提供数据控制功能。 SQL主要特点 SQL是一种一体化语言。 SQL是一种高度非过程化的语言。 SQL语言非常简洁。 SQL语言可直接以命令方式交互使用,也可嵌入到程序设计语言中以程序方式使用。 查询功能 SELECT命令的特点: 可以自动打开数据库、表文件加以查询,而不需要事先用OPEN DATABASE或USE命令打开。 可以直接选取数据表中的数据,而不需要事先用SET RELATION命令建立关联。 当需要的索引文件不存在时,会自动建立暂存索引文件,以支持快速搜索技术(Rushmore)来查询。 其查询结果可输出到文件、表、屏幕或报表上,还可以转换成统计图表。 命令格式:SELECT —— FROM —— WHERE 可与 LIST FIELDS—— FOR —— 对照学习。 关系操作:投影,选择,联接。 说明:功能强大,语法灵活;要处理的数据表无须事先打开,通过FROM子句指明并打开。 SELECT 短语:说明要查询的数据;对应的关系操作为投影,类似于FIELDS子句。 FROM 短语:说明要查询的数据来自哪个或哪些表,可对单个表或多个表进行查询; WHERE 短语:说明查询条件;对应的关系操作为选择,类似于FOR子句。如是多表查询还可能过该子句指明联接条件,进行联接。 GROUP BY 短语:用于对查询结果进行分组,可利用它进行分组汇总;类似于TOTAL命令。 HAVING 短语:跟随GROUP BY 使用,它用来限定分组必须满足的条件; ORDER BY 短语:用于对查询的结果进行排序;类似于SORT命令。 示例数据库: 学生管理,包括三个表:学生,课程,选课(通过该表反映“学生”与“课程”之间“多对多”的联系。 问题:请同学们分别指出三个表的主关键字。 简单查询 简单查询基于单个表。 例: 1.查询学生信息 SELE * FROM 学生 “*”号代表所有列。 类似于: USE 学生 LIST 2.查询男生学生的学号、姓名及生日 SELE 学号,姓名,生日 FROM 学生 WHERE 性别=”男” 类似于 USE 学生 LIST学号,姓名,生日 FOR性别=”男” 3.查询学分大于5的课程的信息 SELE * FROM 课程 WHERE 学分5 类似于 USE 学生 LIST FOR 学分5 4、查询学分不在6到9之间的 Sele * from 课程 where 学分 not between 6 and 9 简单联接查询 联接是关系的基本操作之一,联接查询基于多个关系的查询。 例:查询男生学生的选课信息,包括姓名,学号及成绩。 分析:本例的查询结果包括两个表“学生”与“选课”的属性,适用于联接查询。 SELE 姓名,选课.学号,成绩; FROM 学生,选课; WHERE 学生.学号=选课.学号 AND 性别=”男” 说明:如果命令太长一行写不下可在行末加分号“:”表续行 选课.学号: 因为两个表中均有“学号”字段,所以必须指明所属表。 学生.学号=选课.学号:连接条件。 还可使用如下SQL语句: SELE 姓名,选课.学号,成绩; FROM 学生 JOIN 选课 ON 学生.学号=选课.学号; WHERE 性别=”男” 说明: JOIN ……ON :建立表与表之间的联接。 自连接:sele S.雇员姓名,领导,E.雇员姓名 from 雇员 S,雇员 E where S.雇员号=E.经理 嵌套查询 嵌套查询是另一类基于多个关系的查询,此类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。 1、例:查询女生学生选课信息,包括学号,课程号,成绩。 SELE *; FROM 选课; WHERE 学号 IN (SELE 学号 FROM 学生 WHERE 性别=”女”) 说明: IN:相当于集合运算符∈。 还可使用如下SQL语句:简单联接查询 SELE 选课.学号,课程号,成绩; FROM 选课 JOIN 学生 ON 选课.学号=学生.学号; WHERE 性别=”女” 2、查询有“硬盘”订购需求的订购单明细记录:这个例子要求查询订购单明细表中的记录,而查询条件是产品标的名称, Sele * from 订购单明细 where 产品号 IN; (sele 产品号 from 产品 where 名称=“硬盘”) 3、

文档评论(0)

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

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

1亿VIP精品文档

相关文档