- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 SQL结构化查询语言
5.1 SQL语言简介
SQL(Structured Query Language 结构化查询语言)语言的核心是数据查询,在标准化过程中不断成为通用的数据库语言。
5.1.1 SQL语言特点
(1)高度集成化: SQL语言在数据定义、数据操纵、数据查询和数据控制方面都有规范的格式。可以独立完成数据库管理的各项工作。
(2)非过程化语言:它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,只需告诉要做什么,系统就可以自动完成。
(3)集合操作:SQL语言的的操作对象和操作结果都是记录集合,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,SQL语句可以嵌套。
(4)简单易学:SQL语言语句不多,语言接近英语自然语言。在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的。
(5)用法灵活:SQL语言可以在数据库管理中直接应用,可以嵌入其它高级程序设计语言中,完成对数据库的操作。
5.1.2 SQL语句组成
SQL语言包含4个部分:
数据定义语句(DDL):CREATE(创建)、DROP(撤掉)、ALTER(更改)。
数据操作语句(DML):INSERT(插入)、UPDATE(更新)、DELETE(删除)。
数据查询语句(DQL):SELECT(选择)。
数据控制语句(DCL):GRANT(授予)、REVOKE(吊销)、COMMIT(提交)、ROLLBACK(回滚)。
本章主要讲ACCESS 2003中所支持的SQL语句。
5.1.3 SQL语句在ACCESS中的使用方法
使用SQL语句的步骤如下:
打开数据库窗口,进入查询设计器。
关闭显示表窗口,执行菜单“查询|SQL特定查询|数据定义”命令。
在打开的查询设计编辑窗口中,输入SQL语句。
单击工具栏上的执行按钮,可以直接执行查询。
保存查询,单击工具栏上的保存按钮,在弹出的对话框中命名查询。
5.2 SQL数据查询语句
5.2.1 SELECT语句语法
完整的SQL查询语句常用的语法格式如下:
SELECT [ALL|DISTINCT|TOPn]
* | 表名.* | [表名.]字段1 [AS 列标题1] [, [表名.]字段2 [AS 列标题2] [, …]]
[INTO 新表名]
FROM 表列或者表之间的联接关系
[WHERE 查询条件 ]
[GROUP BY 分组项 ] [HAVING 分组筛选条件 ]
[ORDER BY 排序项[ASC|DESC] [,…]]
其中:
(1)语句中的符号“[]” 表示可选项,“|”表示在多项选一,“”表示必选项。
(2)ALL|DISTINCT|TOPn 限定查询的记录范围,默认ALL,DISTINCT是无重复,TOP是前n个。
(3)* 代表全部字段,多个表时要有表名前缀。
(4)AS 可用于计算字段的列标题,也可以为原字段另起列标题。
(5)FROM 为要查询的数据源,数据源可以是表也可以是查询,多个表时须有联接方式。
(6)WHERE 设置查询的条件。
(7)GROUP BY 设置分组依据,HAVING 对分组进行筛选。
(8)ORDER BY 设置排序依据。
(9)INTO 设置查询去向表,若无,则显示查询数据表。
SELECT查询语句可以划分为几个组成部分:查询项、查询去向、数据源、查询条件、查询分组和查询排序。
5.2.2 SQL常用聚合函数
在SQL查询中,查询项为分组统计的需要使用聚合函数,常用的聚合函数如表。
函数 功能 Avg(expr) 数值平均值 Sum(expr) 数值求和 Count(expr) 统计记录数 First(expr)、Last(expr) 记录集中第一个、最后一个记录指定字段的数值 Min(expr)、Max(expr) 记录集中指定列最小、最大值
5.2.3 查询中的查询项
查询项也称为列标题,一般是数据源中的字段名、也可以是计算统计表达式。每个查询项可以通过as起别名,成为查询结果的列标题。
【例5.1】查询教师表的全部信息。
分析:教师表的全部信息包含所有字段和所有的记录两个含义,所有字段的数据项可以用“*”代替,所有记录则不需设置条件。
Select * from 教师表
【例5.2】从“学生成绩查询”中,查询学号、姓名、课程名、考试成绩。
分析:该查询的数据源为查询,查询项逐个列出,查询项之间用英文逗号分割。
Select 学号,姓名,课程名,考试成绩 from 学生成绩查询
【例5.3】查询学生的总评成绩,查询项有学号、课程号、平时成绩、考试成绩和总评。
分析:查询要求除了成绩表中的所有字段,添加了总评计算项,总评的计算表达式通过AS给出列标题。
Sele
文档评论(0)