专题十一 SQL查询(讲义)-《Access数据库应用技术》(电工版第三版)高考备考讲练测(山东省)

2024-06-28
| 7页
| 176人阅读
| 1人下载
精品

内容正文:

专题十一 SQL查询(讲义) ---《Access数据库应用技术》专题复习讲练测 [考纲要求] 1:理解SQL查询的应用 [课时安排] 4课时 [知识梳理] 一:SQL查询基础知识 1. SQL概念 SQL(Structured Query Language,结构化查询语言)是基于一种关系代数运算的关系查询数据语言。它功能丰富、语言简洁使用方便灵活.成为关系数据库的标准语言。 2. SQL核心 SQL核心是查询,SELECT 是 SQL 的一条查询语句。 3. SQL的通用性 绝大多数关系型数据库管理系统,如:Oracle、MySQL、Access 等都支持 SQL 语言。 4. SQL查询的视图方式 (1)查询的三种视图方式 ①数据表视图:展示查询结果。 ②设计视图:查询设计器模式。 ③SQL 视图:命令方式。 (2)SQL视图说明 MySQL、SQL Server、Oracle、SglLite都是关系型数据库。 SQL: Structured Query Language 结构化查询语言,关系数据库常用语言。 例如:SELECT * FROM 员工; 功能:数据定义、数据查询、数据操作、数据控制。 5. 查询视图方式的切换方法 (1)查询设计器空白处右键菜单中选择相应的视图命令。 (2)在查询标题处右键菜单中选择相应的视图命令。 (3)在查询设计器状态下右下角状态行选择相应的视图按钮。 (4)在查询设计器状态下左上角单击下拉按钮选择应的视图命令。 6. SELECT 命令 (1)SELECT<字段表达式列表> * FROM <数据源> (2)WHERE <条件表达式> (3)GROUP BY <字段列表> (4)HAVING <条件表达式> (5)ORDER BY <排序表达式> ASC|DESC 【说明】 (1)字段表达式列表:指定查询字段、常量或表达式,“*”表示数据表的所有字段;每一字段表达式的格式为:表名.字段1[AS别名1] (2)FROM 子句:指定查询的数据源 (3)WHERE 子句:指定查询的过滤条件 (4)GROUP BY 子句:指定分组依据,即指定字段列表中具有相同值的记录合并为一条记录。 (5)HAVING 子句:指定分组准则,即规定GROUP BY 子句进行分组后显示分组记录的条件。 (7)ORDER BY 子句:指定排序,依据ASC 规定为升序,DESC 规定为降序。 分组常用计算函数见表。 二:SQL数据定义 1. 创建表: CREATE TABLE 表名(列1 数据类型1[约束1],列2 数据类型2[约束2],...列n 数据类型n[约束n]); (1)约束:主键约束 (Primary Key) 、唯一约束 (Unique) 、空值约束 (Not Null) (2)数据类型:INTEGER 长整型、NUMBER 双精度型、VARCHAR短文本型、DATE 日期/时间型 (3)创建学生表: CREATE TABLE 学生(学号INTEGER Primary Key,姓名VARCHAR(4) Not Null,性别VARCHAR(1),出生日期 DATE,家庭住址 VARCHAR(30),学分 NUMBER); 2. 添加新字段: ALTER TABLE 表名 ADD 新列名 数据类型[约束]; ALTER TABLE 学生 ADD 手机号 VARCHAR(11) Unique; 3. 删除字段: ALTER TABLE 表名 DROP 新列名; ALTER TABLE 学生 DROP 家庭住址; 4. 修改字段属性: ALTER TABLE 表名 ALTER 新列名 数据类型; ALTER TABLE 学生 ALTER 姓名 VARCHAR(10); 5. 删除表: DROP TABLE 表名; DROP TABLE 学生; 三:SQL操作数据 1. 插入数据: INSERT INTO 表名(字段1,字段2,...字段n)VALUES(值1,值2,...值n); INSERT INTO 学生VALUES(2,"李四","女",#2019-9-1#,"上海市",99.5); INSERT INTO 学生(学号,姓名,性别,出生日期,家庭住址,学分)VALUES(1,"张三","男", #2020-1-1#,"北京市",98); 注意:文本用双引号包裹、日期用#包裹。 2. 更新数据: UPDATE 表名 SET 字段1 = 值1,字段2 = 值2,...[WHERE 条件]; UPDATE 学生 SET 学分 =学分 + 1 WHERE 姓名="张三"; 3. 删除数据: DELETE FROM 表名[WHERE 条件]; DELETE FROM 学生 WHERE 姓名 ="张三"; 4. 查询数据: SELECT [DISTINCT| TOP n]* 字段1 AS 别名1,字段2 AS 别名2,...字段n AS 别名n FROM 表名1,表名2...[WHERE 条件][GROUP BY 字段[HAVING 条件]][ORDER BY 字段[ASC| DESC]]; (1) 简单数据 SELECT * FROM员工; SELECT 姓名,性别,手机号,工资AS 薪资 FROM员工; SELECT DISTINCT 性别 FROM 员工; (2) 条件查询 SELECT姓名,性别,手机号,工资部门 FROM 员工 WHERE 部门="咨询部"; SELECT 姓名,性别,手机号,工资部门FROM 员工 WHERE 工资>5000 AND 工资<20000; SELECT姓名,性别,手机号,工资部门 FROM 员工 WHERE 工资 Between 5000 AND 20000; SELECT姓名,性别,手机号,工资部门 FROM 员工 WHERE部门 IN("咨询部","销售部"); SELECT姓名,性别,手机号,工资部门FROM 员工 WHERE姓名 LIKE "王*"; (3) 排序查询 SELECT TOP 3 姓名,性别,手机号,工资,部门 FROM 员工 WHERE 部门="咨询部" ORDER BY 工资 DESC; SELECT 姓名,工资 FROM 员工 ORDER BY 工资 DESC; (4) 分组查询 SELECT 部门,COUNT(员工编号)AS 人数 FROM 员工GROUP BY 部门; SELECT部门,AVG(工资)AS 平均工资 FROM 员工 GROUP BY部门 HAVING AVG(工资)>15000; (5) 多表查询 ①SELECT 客户.姓名,咨询信息.咨询事务,咨询方式 FROM 客户,咨询信息 WHERE 客户.客户编号=咨询信息.咨询编号; ②SELECT 客户.姓名,员工.姓名,咨询信息.咨询事务,咨询信息.咨询方式 FROM 客户.咨询信息,员工WHERE 客户.客户编号 = 咨询信息.客户编号 AND 咨询信息.员工编号 = 员工.员工编号; (6) 子查询 ①SELECT 姓名,工资 FROM 员工 WHERE 工资>(SELECT AVG(工资)FROM 员工); ②SELECT 姓名,工资 FROM 员工 WHERE 部门="咨询部" AND(工资>ALL(SELECT 工资 FROM 员工 Where 部门="产品部")); ③)SELECT 姓名,工资 FROM 员工 WHERE部门="咨询部" AND(工资>ANY(SELECT 工资 FROM员工 Where 部门="产品部")); 四:SQL查询类型 1. 联合查询: 合并两个表中的数据,生成新表。 SELECT 姓名,性别,手机号 FROM 员工UNION SELECT 姓名,性别,手机号FROM 客户; 2. 传递查询: 传递SQL语句到远程数据库服务器执行。 3. 数据定义查询: 定义一张表。 [限时练习] 1:下列属于SQL查询的是( ) A.选择查询 B.更新查询 C.总计查询 D.联合查询 【答案】 D 【解析】 SQL查询包括联合查询、传递查询、数据定义查询、子查询等。 2:SELECT 语句中,用于设置条件的子句是( ) A.Where 子句 B.Group By 子句 C.From 子句 D.Order By 子句 【答案】 A 【解析】 Where 子句用于对查询结果进行过滤,只返回满足指定条件的数据行。B. Group By 子句:用于将结果集按照一个或多个列进行分组,并可以与聚合函数一起使用,如SUM(), COUNT(), AVG()等。C. From 子句:指定查询的数据源,即从哪个表中检索数据。D. Order By 子句:用于对结果集进行排序,可以按照一个或多个列进行升序或降序排序。 3:SELECT 语句中,用于设置分组的子句是( ) A.Where 子句 B.Group By 子句 C.From 子句 D.Order By 子句 【答案】 B 【解析】 Where 子句用于设置条件;Group By 子句用于设置分组;From 子句后面添加表或者查询;Order By 子句用于设置排序的子句。 4:Select*from 职工 where 入职日期 between#2023-01-01# and# 2023-12-31# 含义( ) A.查询职工表中 2023 年以后入职的信息 B.查询职工表中的信息 C.查询职工表中 2023 年入职的信息 D.查询职工表中 2023 年以前入职的信息 【答案】 C 【解析】 Select *:选择所有列。from 职工:从名为“职工”的表中。where 入职日期 between #2023-01-01# and #2023-12-31#:筛选条件,选择入职日期在2023年1月1日至2023年12月31日之间的记录。根据这个查询语句,它将返回“职工”表中所有在2023年1月1日到2023年12月31日之间入职的记录。因此,正确答案是C。 5:SELECT 语句中表示升序的是( ) A.DESC B.DSC C.ASC D.AESC 【答案】 C 【解析】 SELECT语句中表示升序的是ASC,降序的是DESC。 6:SQL 是____的缩写。 【答案】 结构化查询语言 【解析】 SQL 是 Structured Query Language 的缩写。Structured Query Language表示结构化查询语言。 7: SQL查询包括 、 、 、 等。 【答案】 联合查询、传递查询、数据定义查询、子查询 【解析】 SQL查询包括联合查询、传递查询、数据定义查询、子查询等。 8:Select 语句中 where 子句不能省略,其他子句可以省略。( ) 【答案】 × 【解析】Select 语句中 From 子句是不允许省略的,其他子句可以省略。 9:SELECT 语句中,表示多项选项只能选其中之一的符号是&。( ) 【答案】 × 【解析】 SELECT 语句中,表示多项选项只能选其中之一的符号是|;&表示多项选择都选。 10:Select 语句中默认的排序方式是升序。( ) 【答案】 √ 【解析】Select 语句中默认的排序方式是升序(ASC)。 [归纳小结] 1:本节的重难点主要在于要掌握SQL查询的应用,要求会写SQL语句,能看懂SQL语句的含义。 学科网(北京)股份有限公司 $$

资源预览图

专题十一 SQL查询(讲义)-《Access数据库应用技术》(电工版第三版)高考备考讲练测(山东省)
1
专题十一 SQL查询(讲义)-《Access数据库应用技术》(电工版第三版)高考备考讲练测(山东省)
2
专题十一 SQL查询(讲义)-《Access数据库应用技术》(电工版第三版)高考备考讲练测(山东省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。