当前位置:
文档之家› 数据库原理与应用第4章 结构化查询语言
数据库原理与应用第4章 结构化查询语言
命令说明
Aggregate_function为聚集函数,用于 对数据做简单的统计,常用的聚集函数包括:
AVG(字段名)—计算数值字段的平均值。 MIN(字段名)—找到指定选项的最小值。 MAX(字段名)—找到指定选项的最大值。 SUM(字段名)—计算数值字段的总和。 COUNT(字段名)—计数,统计选择项目的个
Language) 数据控制语言(Data Control
Language)。
数据查询语言
SQL的核心是从一个或多个表中返回指定记 录集合的SELECT语句。
SELECT命令的基本形式为:SELECT — FROM — WHERE。
命令格式
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]} FROM table_names [WHERE search_criteria ] [GROUP BY groupfieldlist [ HAVING aggregate_criteria]] [ORDER BY column_criteria [ASC | DESC]]
选择字段
使用SELECT命令,可以选择表中的部分 字段,建立一个新表。相当于关系运算中的投 影运算。SELECT 语句的最短的语法是: SELECT fields FROM table 。
选择记录
在SELECT命令中设定查询条件,查找满 足条件的记录,这就是关系运行中的选择运算。 SELECT命令中用于完成选择记录(查询条件) 的命令子句是:
命令说明
(1)SELECT:查询命令动词。参数决定包 含于查询结果表中的字段(列)。
(2)* :表示选择全部字段。
(3)Table:表的名称,表中包含要选择的
字段。
(4)field1, field2:字段的名称,该字段
包含了用户要获取的数据。
(5)alias1, alias2:名称,用来作列标头,
LIKE [!a-z] 9, &, %
LIKE [!0-9] A,a,&,~
LIKE a[!b- An9,az0,
m]#
a99
返回 False 2, & b,a 0, 1, 9 abc,aj0
排序
SELECT命令中用于对查询结果排序的命令子 句是:
[ORDER BY < fieldname 1> [ASC | DESC] [, <fieldname 2> [ASC | DESC] ...]]
SELECT 语句相同的格式及规则。它必须放在括号之中。
分组查询
分组查询是一种分类统计,命令格式为:
SELECT [ALL | DISTINCT | DISTINCTROW] Aggregate_function(field_name) AS alias_name
[, select_list ] FROM table_names [WHERE search_criteria ] GROUP BY groupfieldlist [ HAVING aggregate_criteria] [ORDER BY column_criteria [ASC OUP BY groupfieldlist:可 选子句,将记录与指定字段中的相等值组合成单 一记录。
(10)HAVING aggregate_criteria: 可选子句,对分组以后的记录显示进行限定。
(11)ORDER BY column_criteria:
可选子句,为查询结果排序。
以代替 table中原有的列名。
命令说明(续)
(6)Predicate:可选项,是下列谓词
之一:[ALL | DISTINCT] 或 TOP n [PERCENT]。决定数据行被处理的方式。
(7)FROM table_names:指定查询 的源
(8)WHERE search_criteria:可选 子句,指明查询的条件。
第4章 结构化查询语言SQL
SQL
SQL(Structured Query Language) 是DBMS提供的对数据库进行操作的语言,称 为结构化查询语言。
SQL包括四个主要功能
数据定义语言(Data Definition Language)
数据查询语言(Data Query Language) 数据操纵语言(Data Manipulation
命令中的选项ASC表示升序排序,DESC 表示降序排序,缺省为升序排序。排序关键字 可以是属性名或属性在表中的排列序号1、2 或3等。
子查询
在SQL查询语言中,一个SELECT-FROMWHERE语句称为一个查询块,把一个查询块嵌套在另 一个查询块的WHERE子句或HAVING子句的条件中 的查询,就构成子查询。
[WHERE search_criteria ]
多表查询
关系不是孤立的,所以表也不是孤立的, 表之间是有联系的。多表查询是指SELECT命 令的查询内容或查询条件同时涉及到数据库中 相关的多个表。
模糊查询表达式示例
意义 字符范围 范围之外 非数字
组合字
样例
返回True
LIKE [a-z] F,p,j
SQL 语句的一般形式
SELECT field_1 FROM table_1 WHERE criterion_1
简单查询
查询是对数据库表中的数据进行查找,产 生一个动态表的过程。在Access中可以方便 地创建查询,在创建查询的过程中定义要查询 的内容和规则,运行查询时,系统将在指定的 数据表中查找满足条件的记录,组成一个新表。
子查询的语法格式
comparison [ANY | ALL | SOME] (sqlstatement) expression [NOT] IN (sqlstatement)
语法说明
(1)Comparison:一个表达式及一个比较运算符,将表达
式与子查询的结果作比较。
(2)Expression:用以搜寻子查询结果集的表达式。 (3)Sqlstatement:SELECT 语句,遵从与其他