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

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

ID:49707224

大小:79.00 KB

页数:21页

时间:2020-03-03

结构化查询语言(SQL).doc_第1页
结构化查询语言(SQL).doc_第2页
结构化查询语言(SQL).doc_第3页
结构化查询语言(SQL).doc_第4页
结构化查询语言(SQL).doc_第5页
资源描述:

《结构化查询语言(SQL).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.结构化查询语言(SQL)SQL概述SQL的内容在笔试和上机考试中均占到大约30%的比例,此外它还是查询和视图的基础,因此是学习的重点也是难点。SQL是结构化查询语言StructureQueryLanguage的缩写。SQL包含了查询功能、数据定义、数据操纵和数据控制功能,在VFP中没有提供数据控制功能。SQL主要特点1.SQL是一种一体化语言。2.SQL是一种高度非过程化的语言。3.SQL语言非常简洁。4.SQL语言可直接以命令方式交互使用,也可嵌入到程序设计语言中以程序方式使用。Word资料.查询功能SELECT命

2、令的特点:1.可以自动打开数据库、表文件加以查询,而不需要事先用OPENDATABASE或USE命令打开。2.可以直接选取数据表中的数据,而不需要事先用SETRELATION命令建立关联。3.当需要的索引文件不存在时,会自动建立暂存索引文件,以支持快速搜索技术(Rushmore)来查询。4.其查询结果可输出到文件、表、屏幕或报表上,还可以转换成统计图表。命令格式:SELECT——FROM——WHERE可与LISTFIELDS——FOR——对照学习。关系操作:投影,选择,联接。说明:功能强大,语法灵活;要处理的数据表无须

3、事先打开,通过FROM子句指明并打开。1.SELECT短语:说明要查询的数据;对应的关系操作为投影,类似于FIELDS子句。2.FROM短语:说明要查询的数据来自哪个或哪些表,可对单个表或多个表进行查询;3.WHERE短语:说明查询条件;对应的关系操作为选择Word资料.,类似于FOR子句。如是多表查询还可能过该子句指明联接条件,进行联接。1.GROUPBY短语:用于对查询结果进行分组,可利用它进行分组汇总;类似于TOTAL命令。2.HAVING短语:跟随GROUPBY使用,它用来限定分组必须满足的条件;3.ORDER

4、BY短语:用于对查询的结果进行排序;类似于SORT命令。示例数据库:学生管理,包括三个表:学生,课程,选课(通过该表反映“学生”与“课程”之间“多对多”的联系。问题:请同学们分别指出三个表的主关键字。一、简单查询简单查询基于单个表。例:1.查询学生信息SELE*FROM学生&&“*”号代表所有列。类似于:USE学生LISTWord资料.2.查询男生学生的学号、姓名及生日SELE学号,姓名,生日FROM学生WHERE性别=”男”类似于USE学生LIST学号,姓名,生日FOR性别=”男”3.查询学分大于5的课程的信息SEL

5、E*FROM课程WHERE学分>5类似于USE学生LISTFOR学分>54、查询学分不在6到9之间的Sele*from课程where学分notbetween6and9一、简单联接查询联接是关系的基本操作之一,联接查询基于多个关系的查询。例:查询男生学生的选课信息,包括姓名,学号及成绩。分析:本例的查询结果包括两个表“学生”与“选课”的属性,适用于联接查询。SELE姓名,选课.学号,成绩;FROM学生,选课;WHERE学生.学号=选课.学号AND性别=”男”Word资料.说明:如果命令太长一行写不下可在行末加分号“:”表

6、续行选课.学号:因为两个表中均有“学号”字段,所以必须指明所属表。学生.学号=选课.学号:连接条件。还可使用如下SQL语句:SELE姓名,选课.学号,成绩;FROM学生JOIN选课ON学生.学号=选课.学号;WHERE性别=”男”说明:JOIN……ON:建立表与表之间的联接。自连接:seleS.雇员姓名,"领导",E.雇员姓名from雇员S,雇员EwhereS.雇员号=E.经理一、嵌套查询嵌套查询是另一类基于多个关系的查询,此类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。1、例:查询女生学生选课信息,包括

7、学号,课程号,成绩。SELE*;FROM选课;WHERE学号IN(SELE学号FROM学生WHERE性别=”女”)说明:Word资料.IN:相当于集合运算符∈。还可使用如下SQL语句:简单联接查询SELE选课.学号,课程号,成绩;FROM选课JOIN学生ON选课.学号=学生.学号;WHERE性别=”女”2、查询有“硬盘”订购需求的订购单明细记录:这个例子要求查询订购单明细表中的记录,而查询条件是产品标的名称,Sele*from订购单明细where产品号IN;(sele产品号from产品where名称=“硬盘”)3、排除

8、法查询的例子:查询所有订购数量(即订购单中每个订购项目的数量)都在50以上的订购单的信息Sele*from订购单where订单号notin;(sele订单号from订购单明细where数量〈=50)Sele*from订购单where订单号notin;(sele订单号from订购单明细where数量〈=50)and订单号in(sel

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。