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

2025-04-02
| 19页
| 133人阅读
| 0人下载
精品

内容正文:

专题六 SELECT语句(二) 数据库原理与应用技术-MySQL 专题复习讲练测 河北科学技术出版社 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 考纲要求 一 (四)数据查询 4.掌握连接查询: SELECT <字段名1>[,字段名2,… ] ...FROM <表名1> INNER|LEFT|RIGHT JOIN <表名2> ON 表名1.字段名1 = 表名2.字段名2; 5.掌握子查询; 6.掌握合并查询结果。 知识点梳理 二 子查询 子查询是指在一个查询语句中嵌套另一个查询语句。子查询可以出现在 SELECT、FROM、WHERE 等子句中。 ➽ SELECT * FROM table_name WHERE column1 IN (SELECT column1 FROM another_table); 查询与某个特定部门的员工工资相同的所有员工 知识点梳理 二 连接查询 连接查询用于从多个表中检索相关的数据,常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。 ➽内连接 SELECT table1.column1, table2.column2 FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column; 查询员工及其所在部门的信息 知识点梳理 二 连接查询 连接查询用于从多个表中检索相关的数据,常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)。 ➽左连接 SELECT table1.column1, table2.column2 FROM table1 LEFT JOIN table2 ON table1.common_column = table2.common_column; 左连接会返回左表中的所有记录,以及右表中匹配的记录。如果右表中没有匹配的记录,则右表的列值为 NULL。 知识点梳理 二 连接查询 连接查询用于从多个表中检索相关的数据,常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)。 ➽右连接 SELECT table1.column1, table2.column2 FROM table1 RIGHT JOIN table2 ON table1.common_column = table2.common_column; 右连接与左连接相反,会返回右表中的所有记录,以及左表中匹配的记录。 限时练习 三 1.有 students 表(student_id, class_id)和 classes 表(class_id, class_name),要查询每个班级的学生数量,应使用( )。 A. SELECT classes.class_name, COUNT(students.student_id) FROM students INNER JOIN classes ON students.class_id = classes.class_id GROUP BY classes.class_name; B. SELECT classes.class_name, COUNT(students.student_id) FROM students LEFT JOIN classes ON students.class_id = classes.class_id GROUP BY classes.class_name; C. SELECT classes.class_name, COUNT(students.student_id) FROM students RIGHT JOIN classes ON students.class_id = classes.class_id GROUP BY classes.class_name; D. 以上都不对 答案:A 限时练习 三 2.有 orders 表(order_id, product_id)和 products 表(product_id, product_name),要查询订单数量最多的产品名称,应先进行( )。 A. 内连接,然后按产品名称分组,再统计订单数量 B. 左连接,然后按产品名称分组,再统计订单数量 C. 右连接,然后按产品名称分组,再统计订单数量 D. 全连接,然后按产品名称分组,再统计订单数量 答案:A 限时练习 三 3.内连接只返回两个表中匹配的记录。( ) 答案:正确 解析:内连接的特点就是只返回两个表中满足连接条件的匹配记录。 限时练习 三 4.左连接会返回左表的所有记录,以及右表中匹配的记录。( ) 答案:正确 解析:这是左连接的基本定义,若右表中没有匹配的记录,右表的列值会显示为 NULL。 限时练习 三 5.当使用左连接查询时,如果右表中没有匹配的记录,查询结果中右表的列值会显示为 NULL。( ) 答案:正确 解析:这是左连接的特性,确保左表记录全部展示,右表无匹配时用 NULL 填充。 限时练习 三 6.右连接和左连接只是连接方向不同,本质上是可以相互转换的。( ) 答案:正确 解析:交换表的顺序,右连接可以转换为左连接,反之亦然。 限时练习 三 8.有 orders 表(order_id, customer_id, order_date)和 customers 表(customer_id, customer_name),查询 2024 年下单的客户姓名及订单数量,结果按订单数量降序排列。 限时练习 三 答案 SELECT c.customer_name, COUNT(o.order_id) AS order_count FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE YEAR(o.order_date) = 2024 GROUP BY c.customer_name ORDER BY order_count DESC; 限时练习 三 9.有 students 表(student_id, class_id, score)和 classes 表(class_id, class_name),查询每个班级成绩排名前三的学生姓名和成绩。 限时练习 三 答案 SELECT s1.student_name,s1.score,c.class_name FROM students s1 JOIN classes c ON s1.class_id = c.class_id WHERE ( SELECT COUNT(*) FROM students s2 WHERE s1.class_id = s2.class_id AND s2.score > s1.score ) < 3 ORDER BY c.class_name, s1.score DESC; 限时练习 三 10.有 customers 表(customer_id, country)和 orders 表(order_id, customer_id, order_amount),查询每个国家的客户总消费金额,只显示总消费金额超过 10000 的国家。 限时练习 三 答案 SELECT c.country, SUM(o.order_amount) AS total_amount FROM customers c JOIN orders o ON c.customer_id = o.customer_id GROUP BY c.country HAVING SUM(o.order_amount) > 10000; 谢谢 $$

资源预览图

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