ACCESS数据库SQL语言.doc
文本预览下载声明
复习:
1、动作查询分为哪几种?
2、sql语言有哪些功能?
3、SELECT语句的格式是什么?各子句的功能是什么。
新授课:
第六章 SQL语言
目前关系数据库管理系统都采用SQL语言作为数据库语言,SQL语言成为关系数据库的主流语言(即数据库标准语言),SQL语言是一种介于关系代数与关系演算之间的结构化查询语言,其功能有数据定义、数据操纵、查询和控制功能。
任务一 简单数据查询SELECT
一、SELECT命令格式
1、SELECT命令格式:
SELECT ALL/DISTINCT */字段列表/表达式
FROM 表名称
WHERE 选择运算条件表达式
GROUP BY 字段1[,字段2……]
HAVING 条件表达式
ORDER BY字段1 [ASC/DESC][,字段2[ASC/DESC]……]
说明:
(1)SELECT单独使用时,用于计算表达式的值;结合表使用时,用于实现投影操作。
(2)DISTINCT表示无重复,即忽略重复值。
(3)AS 用于指定结果集各列的标题文本。
(4)FROM用于指定操作所需的表。
(5)WHERE用于指定选择操作的条件,在分组之前进行约束。
(6)GROUP BY用于指定分组字段;当在查询语句中用到GROUP BY时,在SELECT子句中除了聚合函数外,其它的字段列表必须出现在GROUP BY子句中。
(7)所谓分组(分类)是将指定字段的值相等的记录划分为一个组。
(8)HAVING用于对分组之后结果集的输出条件表达式,HAVING必须跟在GROUP BY之后使用。
(9)ORDER BY用于指定输出结果集的排列次序。
(10)在查询语句中,如果采用了上述格式中的子句,则必须按照格式指定的顺序来引用。
2、聚合函数
在SQL中,聚合函数主要有:求和函数SUM(DISTINCT/字段表达式)、求平均函AVG()、求最大值函数MAX()、求最小值函数MIN()、统计记录个数函数COUNT()。
二、SELECT命令的应用
1、计算表达式的值
(1)select date(),now(),time()
(2)select year(date())
(3)select year(date()) 年
(4)select year(date())-year(#1988-12-4#)
2、投影操作(操作列)
例6-1检索所有学生的信息
例6-2显示学生的学号、姓名和班级
例6-3显示学生的学号、姓名和班级,各列的标题分别为汉字的学号、姓名和班级。
SQL语句分别如下:
6-1:select stu01.* from stu01
6-2:select xh,xm,bj from stu01
6-3:select stu01.xh as 学号,stu.xm as 姓名,bj as 班级 from stu01
说明:
(1)“stu01.*”也可以用“*”替代。
(2)当显示的列来自多张表时,字段(列)的引用可以用“表名称.列名”
(3)AS用于指定投影列的标题。
3、选择操作(操作行)
例6-4:查询女学生的信息
例6-6:查询1981年出生的女学生信息学号、姓名和班级。
例6-6:检索所有姓“李”的学生信息。
例6-7:检索所有姓名第二个汉字为“小”字的学生信息。
SQL语句分别如下:
6-4:select * from stu01 where xb=女
6-5:select xh,xm,bj from stu01 where xb=女 and datepart(year,csrq)=1981 或:select xh,xm,bj from stu01 where xb=女 and csrq between #1981-1-1# and #1981-12-31# 或:select xh,xm,bj from stu01 where xb=女 and csrq = #1981-1-1# and csrq =#1981-12-31#
6-6:select * from stu01 where xm like 李* (模糊查询)
6-7:select * from stu01 where xm like ?小* (模糊查询) 或:select * from stu01 where right(left(xm,2),1)=小 或:select * from stu01 where substring(xm,2,1)=小
4、分类汇总操作
例6-8:求每个学生已经学习的课程数、总分、平均分、最高分、最低分
例6-9:统计成绩表中的课程数
例6-10:求平均分高于78分的“0701”和“0702”两门课程的
显示全部