专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)

2025-04-02
| 29页
| 209人阅读
| 0人下载
精品

内容正文:

专题五 SELECT语句(一) 数据库原理与应用技术-MySQL 专题复习讲练测 河北科学技术出版社 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 考纲要求 一 (四)数据查询 1. 掌握基本查询语句SELECT的使用; 2. 掌握单表查询的相关操作: a.查询所有字段:SELECT * FROM <表名> b.查询部分字段:SELECT <字段名1>[,字段名2,… ] FROM <表名> c.按条件查询:SELECT <字段名1>[,字段名2,… ] FROM <表名> WHERE <条件表达式> 3.掌握分组聚合查询:SELECT <字段名1>[,字段名2,… ] FROM <表名> GROUP BY <字段名1>[,<字段名2>…] ORDER BY <字段名1>[,<字段名2>…]; 知识点梳理 二 基本语法与核心概念 SELECT 语句是 MySQL 中用于从数据库表中检索数据的核心语句。语法如下: ➽ 1. 基本结构 知识点梳理 二 基本语法与核心概念 select_list:指定要查询的列,可以是单个列、多个列,也可以使用通配符 * 表示查询所有列。 table_name:指定要查询的表名。 WHERE:可选子句,用于筛选满足特定条件的行。 GROUP BY:可选子句,用于对查询结果进行分组。 HAVING:可选子句,用于对分组后的结果进行筛选。 ORDER BY:可选子句,用于对查询结果进行排序。 LIMIT:可选子句,用于限制查询结果的行数。 ➽ 1. 基本结构 知识点梳理 二 基本语法与核心概念 SELECT column1, column2 FROM table_name WHERE column1 > 10 GROUP BY column2 HAVING COUNT(*) > 2 ORDER BY column1 ASC LIMIT 5; ➽ 1. 基本结构实例 从 table_name 表中选择 column1 和 column2 列,筛选出 column1 大于 10 的行,按照 column2 进行分组,只保留分组后记录数大于 2 的组,然后按照 column1 升序排序,最后只取前 5 条记录。 知识点梳理 二 SELECT 子句 SELECT column1, column2 FROM table_name; 只返回指定列的数据 ➽ 1. 选择特定列 从 employees 表中查询员工的姓名和工资 知识点梳理 二 SELECT 子句 使用通配符 * 可以选择表中的所有列: ➽ 2. 选择所有列 SELECT * FROM table_name; 知识点梳理 二 SELECT 子句 为了使查询结果的列名更具可读性,可以使用列别名: SELECT column1 AS new_name1, column2 AS new_name2 FROM table_name; ➽ 3. 使用列别名 知识点梳理 二 SELECT 子句 可以在 SELECT 子句中进行数学计算或使用函数来生成新的列: SELECT column1, column2, column1 + column2 AS sum FROM table_name; ➽ 4. 计算列 计算员工的年薪 知识点梳理 二 WHERE 子句 WHERE 子句用于筛选满足特定条件的行,支持各种比较运算符(如 =, >, <, >=, <=, <>)。 SELECT * FROM table_name WHERE column1 = 'value'; ➽ 1. 基本条件筛选 从 employees 表中查询工资大于5000的员工 知识点梳理 二 WHERE 子句 可以使用逻辑运算符(如 AND, OR, NOT)组合多个条件。 SELECT * FROM table_name WHERE column1 > 10 AND column2 < 20; ➽ 2. 逻辑运算符 查询部门为 'Sales' 且工资大于 6000 的员工 知识点梳理 二 WHERE 子句 使用 BETWEEN 关键字进行范围查询。 SELECT * FROM table_name WHERE column1 BETWEEN value1 AND value2; ➽ 3. 范围查询 查询入职日期在 2020 - 01 - 01 到 2021 - 12 - 31 之间的员工。 知识点梳理 二 WHERE 子句 使用 IS NULL 和 IS NOT NULL 检查列是否为空。 SELECT * FROM table_name WHERE column1 IS NULL; ➽ 4. 空值检查 查询没有经理的员工 知识点梳理 二 WHERE 子句 使用 LIKE 关键字进行模糊查询,支持 %(匹配任意数量的任意字符)和 _(匹配单个任意字符)。 SELECT * FROM table_name WHERE column1 LIKE 'value%'; ➽ 5. 模糊查询 查询姓氏以 'Smith' 开头的员工 知识点梳理 二 WHERE 子句 使用 IN 操作符检查列的值是否在指定的列表中。 SELECT * FROM table_name WHERE column1 IN (value1, value2, value3); ➽ 6. IN 操作符 查询部门为 'Sales'、'Marketing' 或 'Finance' 的员工 知识点梳理 二 GROUP BY 子句 GROUP BY 子句用于将查询结果按照指定的列进行分组,通常与聚合函数(如 COUNT, SUM, AVG, MAX, MIN)一起使用。 SELECT column1, COUNT(*) FROM table_name GROUP BY column1; ➽ 1. 分组的概念 统计每个部门的员工数量 知识点梳理 二 GROUP BY 子句 可以按照多个列进行分组。 SELECT column1, column2, COUNT(*) FROM table_name GROUP BY column1, column2; ➽ 2. 多列分组 统计每个部门中不同职位的员工数量 知识点梳理 二 HAVING 子句 HAVING 子句用于对分组后的结果进行筛选,而 WHERE 子句用于在分组之前筛选行。HAVING 子句通常与 GROUP BY 子句一起使用,并且可以使用聚合函数。 SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > 10; 查询员工数量超过 10 人的部门 知识点梳理 二 ORDER BY 子句 ORDER BY 子句用于对查询结果进行排序,可以按照升序(ASC,默认)或降序(DESC)排序。 SELECT * FROM table_name ORDER BY column1 ASC; ➽ 1. 排序的基本用法 按照工资降序排列员工信息 知识点梳理 二 ORDER BY 子句 可以按照多个列进行排序,排序优先级从左到右。 SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC; ➽ 2. 多列排序 先按照部门升序排序,再按照工资降序排序 知识点梳理 二 LIMIT 子句 LIMIT 子句用于限制查询结果的行数,常用于分页查询。 SELECT * FROM table_name LIMIT 10; ➽ 1. 限制结果行数 这个查询只返回前 10 条记录。 知识点梳理 二 LIMIT 子句 可以使用 LIMIT offset, rows 进行分页查询,其中 offset 表示偏移量(即从第几条记录开始),rows 表示要返回的记录数。 SELECT * FROM table_name LIMIT 10, 20; ➽ 2. 分页查询 这个查询从第 11 条记录开始,返回 20 条记录。 限时练习 三 1.若要查询 employees 表中 salary 列的值在 3000 到 5000 之间的员工信息,最佳的 SQL 语句是( ) A. SELECT * FROM employees WHERE salary >= 3000 AND salary <= 5000; B. SELECT * FROM employees WHERE salary BETWEEN 3000 AND 5000; C. SELECT * FROM employees WHERE salary IN (3000, 5000); D. SELECT * FROM employees WHERE salary > 3000 OR salary < 5000; 答案:B 限时练习 三 2.若要查询 students 表中 name 列值不重复的学生信息,正确的 SQL 语句是( ) A. SELECT * FROM students GROUP BY name; B. SELECT DISTINCT name FROM students; C. SELECT ALL name FROM students; D. SELECT UNIQUE name FROM students; 答案:B 限时练习 三 3.在单表查询中,WHERE 子句可以放在 GROUP BY 子句之后。( ) 答案:错误 解析:在 SQL 查询中,WHERE 子句用于筛选行,应在 GROUP BY 子句之前执行,GROUP BY 是对筛选后的结果进行分组。 限时练习 三 4.在单表查询中,SELECT 子句后面只能跟列名,不能进行计算。( ) 答案:错误 解析:SELECT 子句后面可以进行计算,例如 SELECT column1 + column2 AS sum FROM table_name; 可以计算两列的和。 限时练习 三 5.从 products 表中查询价格最高的 5 种产品的名称(product_name)、价格(price)和库存数量(stock_quantity)。 答案 SELECT product_name, price, stock_quantity FROM products ORDER BY price DESC LIMIT 5; 内容小结 四 谢谢 $$

资源预览图

专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
1
专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
2
专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
3
专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
4
专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
5
专题五 SELECT语句(一)(课件)-《数据库原理与应用技术》高考备考讲练测(河北省)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。