第4章 结构化查询语言-SQL-3
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. FROM选项:提供用于查询的基本表和视图, 它们均可以带有表别名,这些表称为源表,而把 查询结果称为目的表;
4
SELECT语句说明
WHERE选项:指定不同源表之间记录的连接条 件和每个源表中记录的筛选条件,只有满足所给 连接条件和筛选条件的记录才被写到目的表中。
GROUP BY选项:按指定列的值进行分组;
18
作业
1. 从商品表1中查询出所有商品的不同商品号。 2. 从商品表1中查询出单价低于2000元的每一种商 品的商品代号、商品名和单价。
3. 从商品表1中查询出商品名为“电视机”的商品 的种数、最高价、最低价及平均价。
4. 从教学库中查询出每个学生选修每门课程的学生 号、姓名、课程号、课程名,成绩。
HAVING选项:通常同GROUP BY选项一起使用, 筛选出符合条件的分组统计信息; ORDER BY选项:用于将查询结果按指定列值的 升序或降序排序。
5
SELECT语句说明
SQL语句与关系运算之间的关系: SELECT选项实现投影运算; FROM选项实现连接运算; WHERE选项实现选择运算。
别名的适用场合:
①当一个源表的表名较长时,可起一个简单的别名, 以方便使用; ②若一个查询中需要使用多个同一个表时,则必须为 每个表命名不同的别名,以示区别。
17
三、FROM选项
例11:从教学库中查询出每个学生选修每门课 程的学生号、姓名、课程号、课程名,成绩等 数据。
用表别名如何实现? 不用表别名如何实现?
语句功能: 根据一个或多个表按条件进行查询,产生出 一个新表(即查询结果),该新表被显示出来或者 用into选项将查询结果保存起来。
3
SELECT语句说明
1. SELECT选项:给出在查询结果中每一行(即每 一条记录)所包含的列,以及决定是否允许在查询 结果中出现重复行;
2. INTO选项:决定是否把查询结果以基本表的 形式保存起来,若需要则应带有该选项;
例6:从商品表1和商品表2中查询按商品代号进行自 然连接的结果。
Leabharlann Baidu
13
二、SELECT选项
函数也可以用在select选项中,常用的列函数有:
COUNT(*) COUNT(列名) SUM(列名) AVG(列名) 计算元组的个数 计算某一列中数据的个数 计算某一数据列中值的总和 计算某一数据列中值的平均值
例9:从商品表1中查询出商品名为“电视机”的 商品的种数、最高价、最低价及平均价。
(自己分析) 例10:从商品表1中查询出所有商品的最高价值、 最低价值及总价值。
16
三、FROM选项
FROM选项提供用于查询的基本表和视图,并 可以为每个基本表起一个别名,此别名只限于 该SELECT语句中使用,作为列名的前缀。
6
二、SELECT选项
例1:从商品库的商品表1中查询出每种商品的商品名。 例2:从商品表1中查询出所有商品的不同商品号。 例3:从商品表1中查询出单价低于2000元的每一种 商品的商品代号、商品名和单价。
12
二、SELECT选项
例4:从商品表1中查询出商品名为“电视机”的所有 商品信息。
例5:从商品表1中查询出每一种商品的商品代号和价 值。
COUNT DISTINCT(列名) 计算某一列中不同值的个数
MIN(列名)
MAX(列名)
求(字符、日期、数值列)的最小值
求(字符、日期、数值列)的最大值
14
二、SELECT选项
例7:从商品表1中查询出商品名的种数。
例8:从商品表1中查询出所有商品的最大数量、最小 数量、平均数量及数量总和。
15
二、SELECT选项
19
4.6 SQL简单查询
一、SELECT语句格式及说明
语句格式:
SELECT [ALL | DISTINCT] {<表达式1>[[AS]<列名1>] [,<表达式2> [[AS] <列名2>]... | * | <表别名>.* } [INTO <基本表名>]
FROM <表名1> [[AS]<表别名1>]
[,<表名2> [[AS]<表别名2>]...] [WHERE <逻辑表达式1>]
[GROUP BY<分组列名1> [,<分组列名2>...]
[HAVING <逻辑表达式2>] [ORDER BY <排序列名1> [ASC | DESC]
[,<排序列名2> [ASC | DESC]…]]
2
SELECT语句功能
4
SELECT语句说明
WHERE选项:指定不同源表之间记录的连接条 件和每个源表中记录的筛选条件,只有满足所给 连接条件和筛选条件的记录才被写到目的表中。
GROUP BY选项:按指定列的值进行分组;
18
作业
1. 从商品表1中查询出所有商品的不同商品号。 2. 从商品表1中查询出单价低于2000元的每一种商 品的商品代号、商品名和单价。
3. 从商品表1中查询出商品名为“电视机”的商品 的种数、最高价、最低价及平均价。
4. 从教学库中查询出每个学生选修每门课程的学生 号、姓名、课程号、课程名,成绩。
HAVING选项:通常同GROUP BY选项一起使用, 筛选出符合条件的分组统计信息; ORDER BY选项:用于将查询结果按指定列值的 升序或降序排序。
5
SELECT语句说明
SQL语句与关系运算之间的关系: SELECT选项实现投影运算; FROM选项实现连接运算; WHERE选项实现选择运算。
别名的适用场合:
①当一个源表的表名较长时,可起一个简单的别名, 以方便使用; ②若一个查询中需要使用多个同一个表时,则必须为 每个表命名不同的别名,以示区别。
17
三、FROM选项
例11:从教学库中查询出每个学生选修每门课 程的学生号、姓名、课程号、课程名,成绩等 数据。
用表别名如何实现? 不用表别名如何实现?
语句功能: 根据一个或多个表按条件进行查询,产生出 一个新表(即查询结果),该新表被显示出来或者 用into选项将查询结果保存起来。
3
SELECT语句说明
1. SELECT选项:给出在查询结果中每一行(即每 一条记录)所包含的列,以及决定是否允许在查询 结果中出现重复行;
2. INTO选项:决定是否把查询结果以基本表的 形式保存起来,若需要则应带有该选项;
例6:从商品表1和商品表2中查询按商品代号进行自 然连接的结果。
Leabharlann Baidu
13
二、SELECT选项
函数也可以用在select选项中,常用的列函数有:
COUNT(*) COUNT(列名) SUM(列名) AVG(列名) 计算元组的个数 计算某一列中数据的个数 计算某一数据列中值的总和 计算某一数据列中值的平均值
例9:从商品表1中查询出商品名为“电视机”的 商品的种数、最高价、最低价及平均价。
(自己分析) 例10:从商品表1中查询出所有商品的最高价值、 最低价值及总价值。
16
三、FROM选项
FROM选项提供用于查询的基本表和视图,并 可以为每个基本表起一个别名,此别名只限于 该SELECT语句中使用,作为列名的前缀。
6
二、SELECT选项
例1:从商品库的商品表1中查询出每种商品的商品名。 例2:从商品表1中查询出所有商品的不同商品号。 例3:从商品表1中查询出单价低于2000元的每一种 商品的商品代号、商品名和单价。
12
二、SELECT选项
例4:从商品表1中查询出商品名为“电视机”的所有 商品信息。
例5:从商品表1中查询出每一种商品的商品代号和价 值。
COUNT DISTINCT(列名) 计算某一列中不同值的个数
MIN(列名)
MAX(列名)
求(字符、日期、数值列)的最小值
求(字符、日期、数值列)的最大值
14
二、SELECT选项
例7:从商品表1中查询出商品名的种数。
例8:从商品表1中查询出所有商品的最大数量、最小 数量、平均数量及数量总和。
15
二、SELECT选项
19
4.6 SQL简单查询
一、SELECT语句格式及说明
语句格式:
SELECT [ALL | DISTINCT] {<表达式1>[[AS]<列名1>] [,<表达式2> [[AS] <列名2>]... | * | <表别名>.* } [INTO <基本表名>]
FROM <表名1> [[AS]<表别名1>]
[,<表名2> [[AS]<表别名2>]...] [WHERE <逻辑表达式1>]
[GROUP BY<分组列名1> [,<分组列名2>...]
[HAVING <逻辑表达式2>] [ORDER BY <排序列名1> [ASC | DESC]
[,<排序列名2> [ASC | DESC]…]]
2
SELECT语句功能