提交三个sql和相应的结果截图

发布时间:2025-06-24 17:48:04  作者:北方职教升学中心  阅读量:167


SQL要求:
1、15。人员。模糊查询根据商品名称#xff0c;模糊查询需要索引,explain语句需要给出。

SELECT username AS '姓名', phone AS '手机号' FROM user;

2、1、使用explain测试给出的查询句,走索引查询需要显示。查询用户信息󿀌只显示用户姓名和手机号码,用中文显示列名。

3、对应7号,

CREATE INDEX idx_product_name ON product(product_name);

不能使用模糊查询符号作为查询的开始,否则,查询下单总额最大的用户,并查询用户的所有信息和当前钱包余额。

 。10。 。查询下单总额最大的用户,并查询用户的所有信息和当前钱包余额。

因为产品id2的数量是订单细节中最多的,产品2的类型是笔记本电脑,结果正确。
2、

复杂查询。所有用户的订单数量(2分)࿰使用聚合函数查询c;倒序排列结果(3分),(共5分)。(3分)。聚合函数(2分)࿰正确使用c;正确使用子查询(2分),正确显示结果(1分),(共5分�

基本写法:

select type_name '下单最多的产品类别' from product p INNER join product_type pt on p.type_id=pt.type_id where product_id =(select product_id from order_info GROUP BY product_id ORDER BY count(product_id) desc limit 1);

标准写法:

SELECT pt.type_name -- 选择FROM产品类型名称 product p -- 从产品表中选择数据JOIN product_type pt ON p.type_id = pt.type_id -- 使用JOIN连接产品表和产品类型表#xff0c;连接条件是产品表中的type_id与产品类型表中的type_id相同 (SELECT product_id, -- 在子查询中选择产品ID COUNT(order_id) AS order_count -- 在子查询中,所有用户的订单数量(2分)࿰使用聚合函数查询c;倒序排列结果(3分),(共5分)。
3、基础查询。查看订单中订单最多的产品对应的类别。郭靖,正确的结果󿀌没有问题。使用explain测试给出的查询句,走索引查询需要显示。查询用户信息󿀌只显示用户姓名和手机号码,列名用中文显示。每个用户的订单总额和,并命名为total_spent FROM `order` -- 子查询从订单表中选择数据 GROUP BY user_id -- 按用户ID分组 ORDER BY total_spent DESC -- 按总消费金额排序排序 LIMIT 1) o ON u.user_id = o.user_id -- 作为临时表o࿰的子查询结果c;通过user_id与用户表连接JOIN user_wallet uw ON u.user_id = uw.user_id; -- 用JOIN连接用户表和钱包表c;连接条件与两个表中的user_id相同。提交三个sql和相应的结果截图。DBA。1、
题干。

1、聚合函数(2分)࿰正确使用c;正确使用子查询(2分),正确显示结果(1分),(共5分)
3、

2、正确显示用户信息(1分),正确显示用户的钱包信息(1分),多表联合查询正确(2分)(共4分)

SELECT u.user_id, -- 用户ID的选择 u.username, -- 选择用户名 u.email, -- 选择邮箱 u.phone, -- 选择电话 uw.wallet_id, -- 选择钱包ID uw.balance -- 选择钱包余额FROMM user u -- 从用户表中选择数据JOIN user_wallet uw ON u.user_id = uw.user_id; -- 用JOIN连接用户表和钱包表c;连接条件与两个表中的user_id相同。查询用户信息󿀌只显示用户姓名和手机号码,列名用中文显示。中文显示姓名列和手机号列(2分)
2、

 。复杂查询。
3、

3、

1、正确显示用户信息(1分),正确显示用户钱包信息(1分),多表联合查询正确(2分)(共4分)
2、中文显示姓名列和手机号列。
得分标准。5。正确使用聚合函数(2分),正确使用子查询(2分),多表联合查询正确(2)(6分)

基本写法:

select * from `user` join user_wallet wu on `user`.user_id=wu.user_id where wu.user_id=(select user_id from `order` group by user_id ORDER BY sum(total_price) desc limit 1);

标准写法:SELECT u.*, -- 选择用户的所有信息 uw.wallet_id, -- 选择钱包ID uw.balance -- 选择钱包余额FROMM user u -- 从用户表中选择数据JOIN (SELECT user_id, -- 选择用户ID进行子查询 SUM(total_price) AS total_spent -- 在子查询中,对应7号,

因为产品id2的数量是订单细节中最多的,产品2的类型是笔记本电脑,结果正确。查看订单中订单最多的产品对应的类别。

SELECT user_id, COUNT(order_id) AS '订单数量'FROM `order`GROUP BY user_idORDER BY `订单数量` DESC;

10个数据＀order表总共10个数据c;结果正确。统计用户订单信息,查询所有用户的订单数量,并倒序排列。统计用户订单信息,查询所有用户的订单数量,并且进行倒序排列。计数每个产品ID的订单ID,命名为order_count FROM order_info -- 从订单详细信息表中选择子查询的数据 GROUP BY product_id -- 按产品ID分组 ORDER BY order_count DESC -- 按订单数量降序排列 LIMIT 1) oi ON p.product_id = oi.product_id; -- 作为临时表oi࿰的子查询结果c;通过product_id连接到产品表。 。提交内容。DBA。查询用户的基本信息,钱包信息。总分数。
3、SQL要求:
1、

EXPLAIN SELECT * FROM product WHERE product_name LIKE '关键词%';

你可以看到索引已经走了。模糊查询根据商品名称#xff0c;模糊查询需要索引,explain语句需要给出。
2、6。
题目。聚合函数(2分)࿰正确使用c;正确使用子查询(2分),多表联合查询正确(2)(6分)

基础查询。
编号。提交三个sql和相应的结果截图。查询用户的基本信息,钱包信息。郭靖,正确的结果󿀌没有问题。

1、不要走索引。