2022年2022年结构化查询语言 .pdf
《2022年2022年结构化查询语言 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年结构化查询语言 .pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、结构化查询语言(SQL)SQL 概述SQL 的内容在笔试和上机考试中均占到大约30%的比例,此外它还是查询和视图的基础,因此是学习的重点也是难点。SQL 是结构化查询语言Structure Query Language 的缩写。SQL 包含了 查询功能、数据定义、数据操纵和数据控制功能,在VFP 中没有提供数据控制功能 。SQL 主要特点1SQL 是一种一体化语言 。2SQL 是一种高度 非过程化的语言 。3SQL 语言非常简洁。4SQL 语言可直接以命令方式交互使用,也可嵌入到程序设计语言中以程序方式使用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
2、- - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 21 页 - - - - - - - - - 查询功能SELECT 命令的特点:1可以自动打开数据库、 表文件加以查询, 而不需要事先用 OPEN DATABASE 或 USE 命令打开。2可 以 直 接 选 取 数 据 表 中 的 数 据 , 而 不 需 要 事 先 用SET RELATION 命令建立关联。3当需要的索引文件不存在时,会自动建立暂存索引文件,以支持快速搜索技术( Rushmore )来查询。4其查询结果可输出到文件、表、屏幕或报表上,还可以转换成统计图表。命令格式: SELECT FROM
3、 WHERE 可与 LIST FIELDS FOR 对照学习。关系操作:投影,选择,联接。说明:功能强大,语法灵活;要处理的数据表无须事先打开,通过FROM 子句指明并打开。1SELECT 短语:说明要查询的数据;对应的关系操作为投影,类似于 FIELDS 子句。2FROM 短语:说明要查询的数据来自哪个或哪些表,可对单个表或多个表进行查询;3WHERE 短语:说明查询条件;对应的关系操作为选择,类似名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 21 页 - - - -
4、 - - - - - 于 FOR 子句。如是多表查询还可能过该子句指明联接条件,进行联接。4GROUP BY 短语:用于对查询结果进行分组, 可利用它进行分组汇总; 类似于 TOTAL 命令。5HAVING 短语:跟随 GROUP BY 使用,它用来限定分组必须满足的条件;6ORDER BY 短语:用于对查询的结果进行排序;类似于 SORT命令。示例数据库:学生管理,包括三个表:学生,课程,选课(通过该表反映“学生”与“课程”之间“多对多”的联系。问题:请同学们分别指出三个表的主关键字。一、 简单查询简单查询基于单个表。例:1查询学生信息SELE * FROM 学生& “*”号代表所有列。类似
5、于:USE 学生LIST 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 21 页 - - - - - - - - - 2查询男生学生的学号、姓名及生日SELE 学号,姓名,生日 FROM 学生 WHERE 性别=” 男”类似于USE 学生LIST 学号,姓名,生日 FOR 性别=” 男”3.查询学分大于5 的课程的信息SELE * FROM 课程 WHERE 学分5 类似于USE 学生LIST FOR 学分5 4、查询学分不在6 到 9 之间的Sele * from 课
6、程where 学分not between 6 and 9 二、 简单联接查询联接是关系的基本操作之一,联接查询基于多个关系的查询。例:查询男生学生的选课信息,包括姓名,学号及成绩。分析:本例的查询结果包括两个表“学生”与“选课”的属性,适用于联接查询。SELE 姓名,选课.学号,成绩; FROM 学生,选课; WHERE 学生.学号=选课.学号 AND 性别=” 男”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 21 页 - - - - - - - - - 说明:如果命
7、令太长一行写不下可在行末加分号“:”表续行选课.学号: 因为两个表中均有“学号”字段,所以必须指明所属表。学生.学号=选课.学号:连接条件。还可使用如下 SQL 语句:SELE 姓名,选课.学号,成绩; FROM 学生 JOIN 选课 ON 学生.学号=选课.学号; WHERE 性别=” 男”说明:JOIN ON :建立表与表之间的联接。自连接: sele S.雇员姓名 ,领导,E.雇员姓名from 雇员S,雇员E where S.雇员号 =E.经理三、 嵌套查询嵌套查询是另一类基于多个关系的查询,此类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。1、例:查询女生学生选课信息,包括
8、学号,课程号,成绩。SELE *; FROM 选课; WHERE 学号IN (SELE 学号FROM 学生WHERE 性别 =”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 21 页 - - - - - - - - - 女” ) 说明:IN:相当于集合运算符。还可使用如下 SQL 语句:简单联接查询SELE 选课.学号,课程号,成绩; FROM 选课 JOIN 学生 ON 选课 .学号=学生.学号; WHERE 性别=” 女”2、查询有“硬盘”订购需求的订购单明细记录:
9、这个例子要求查询订购单明细表中的记录,而查询条件是产品标的名称,Sele * from 订购单明细where 产品号IN;(sele 产品号from 产品where 名称=“硬盘” )3、排除法查询的例子 :查询所有订购数量(即订购单中每个订购项目的数量)都在50 以上的订购单的信息Sele * from 订购单where 订单号not in;(sele 订单号from 订购单明细where 数量=50)Sele * from 订购单where 订单号not in;(sele 订单号from 订购单明细where 数量 =50) and 订单号in (sele 订单号from 订购单明细)4、
10、找出和某某产品同等价位的所有产品信息:内外层查询的同一个表,内层查询查处单价,外层查询根据这个单价查询产品信息Sele * from 产品where 单价=;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 21 页 - - - - - - - - - (sele 单价from 产品where 规格说明 =“某某产品”)5、内外层互相查询嵌套查询四、 特殊运算符1BETWEEN AND 意为“和之间”例:查询成绩在80 分到 90 分之间的选课信息。SELE * FROM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年结构化查询语言 2022 结构 查询 语言
限制150内