MySQL周内训参照3、简单查询与多表联合复杂查询

 基础查询

1、查询用户信息,仅显示用户的姓名与手机号,用中文显示列名。中文显示姓名列与手机号列

SELECT user_id  AS '编号', phone AS '电话' FROM user;

2. 根据订购表进行模糊查询,模糊查询需要可以走索引,需要给出explain语句。使用explain测试给出的查询语句,需要显示走了索引查询。

CREATE INDEX idx_order_id ON `order`(order_id);

 

不能用模糊查询的符号作为查询的开头,否则不走索引。

EXPLAIN SELECT * FROM `order` WHERE order_id LIKE '小%';

 

可以看到已经走了索引了。

3.统计用户订单信息,查询所有用户的下单数量,并进行倒序排列。使用聚合函数查询处所有用户的订单数量,倒序排列结果

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

 

复杂查询 

 1.查询用户的基本信息,订单信息。正确显示用户信息,正确显示订单信息,正确进行多表联合查询

    u.user_id, -- 选择用户的用户IDu.username, -- 选择用户名u.age,-- 选择年龄u.sex,-- 选择性别u.phone, -- 选择电话u.email, -- 选择邮箱uo.quantity,uo.book_id
FROM user u -- 从用户表中选择数据
JOIN `order` uo ON u.user_id = uo.user_id; -- 使用JOIN连接用户表和订单表,连接条件是两个表中的user_id相同

 


2.查看订单中下单最多的书籍。正确使用聚合函数,正确使用子查询,正确显示结果 

SELECT pt.book_id -- 选择书籍名称
FROM `books` p -- 从书籍表中选择数据
JOIN `order` pt ON p.book_id = pt.book_id -- 使用JOIN连接书籍表和订单表,连接条件是书籍表中的book_id与订单表中的book_id相同
JOIN (SELECT book_id, -- 子查询中选择书籍编号IDCOUNT(order_id) AS order_count -- 子查询中对每个书籍ID的订单ID进行计数,并命名为order_countFROM `order` -- 子查询从订单表中选择数据GROUP BY book_id -- 按书籍ID进行分组ORDER BY order_count DESC -- 按订单数量降序排列LIMIT 3) oi ON p.book_id = oi.book_id; -- 子查询的结果作为临时表oi,与产品表通过book_id进行连接

 

3.查询 订单中购买书籍最多的数量,和库存中剩余书籍总数量

SELECT `order_id` -- 选择用户的所有信息quantity, -- 选择用户IDstock_qty -- 选择书籍库存
FROM user `order`  -- 从用户表中选择数据
JOIN (SELECT order_id, -- 子查询中选择用户IDSUM(quantity) AS total_spent -- 子查询中对每个用户的订单总数量进行求和,并命名为total_spentFROM `order` -- 子查询从订单表中选择数据GROUP BY order_id -- 按用户ID进行分组ORDER BY total_spent DESC -- 按总消费金额降序排列LIMIT 1) o ON order_id= o.order_id -- 子查询的结果作为临时表o,与用户表通过user_id进行连接
JOIN `stock` uo ON uo.stock_id = order_id; -- 使用JOIN连接用户表和钱包表,连接条件是两个表中的user_id相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【区间动态规划】1771. 由子序列构造的最长回文串的长度

本文涉及知识点 动态规划汇总 LeetCode1771. 由子序列构造的最长回文串的长度 给你两个字符串 word1 和 word2 ,请你按下述方法构造一个字符串: 从 word1 中选出某个 非空 子序列 subsequence1 。 从 word2 中选出某个 非空 子序列 subsequence2 。 连…

企业AI落地的大法器-用数据清洗手段提升数据质量,找回遗珠之光

开篇 书接上文,在上文《谈LORA微调与数据质量处理之争》中我们详细叙述了:LORA微调手段和数据清洗之分,以及如何平衡和组合使用LORA微调与数据清洗的手法。 文末我们提到了“下一篇我们讲着重讲述:在打造企业数据清洗工具、平台…

003 SpringBoot操作ElasticSearch7.x

文章目录 5.SpringBoot集成ElasticSearch7.x1.添加依赖2.yml配置3.创建文档对象4.继承ElasticsearchRepository5.注入ElasticsearchRestTemplate 6.SpringBoot操作ElasticSearch1.ElasticsearchRestTemplate索引操作2.ElasticsearchRepository文档操作3.ElasticsearchRestTempl…

java基于ssm+jsp 弹幕视频网站

1前台首页功能模块 弹幕视频网站,在弹幕视频网站可以查看首页、视频信息、商品信息、论坛信息、我的、跳转到后台、购物车、客服等内容,如图1所示。 图1前台首页界面图 登录,通过登录填写账号、密码等信息进行登录操作,如图2所示…

显卡GTX与RTX有什么区别?哪一个更适合玩游戏?

游戏发烧友们可能对游戏显卡并不陌生,它直接关系到游戏画面的流畅度、细腻程度和真实感。在众多显卡品牌中,英伟达的GTX和RTX系列显卡因其出色的性能而备受关注。 一、GTX与RTX的区别 架构差异 GTX系列显卡采用的是Pascal架构,这是英伟达在…

探索MySQL核心技术:理解索引和主键的关系

在数据密集型应用中,数据库的性能往往是决定一个应用成败的重要因素之一。其中,MySQL作为一种开源关系型数据库管理系统,以其卓越的性能和丰富的功能被广泛应用。而在MySQL数据库优化的众多技巧中,索引和主键扮演着极其重要的角色…

安霸CVFlow推理开发笔记

一、安霸环境搭建: 1.远程172.20.62.13 2. 打开Virtualbox,所在目录:E:\Program Files\Oracle\VirtualBox 3. 配置好ubuntu18.04环境,Ubuntu密码:amba 4. 安装toolchain,解压Ambarella_Toolchain_CNNGe…

鸿蒙开发HarmonyOS NEXT (二) 熟悉ArkUI

一、构造函数 构造一个商品类Item,然后利用foreach函数循环渲染 class Item {name: stringimage: ResourceStrprice: numberdiscount: numberconstructor(name: string, image: ResourceStr, price: number, discount: number 0) {this.name name;this.image ima…

JAVA进阶学习09

文章目录 一、双列集合Map1.1 双列集合介绍1.2 双列集合Map常见API1.3 Map集合遍历方式1.3.1 通过集合的全部键来遍历集合1.3.2 Map集合遍历方式21.3.3 Map集合遍历方式3 二、Map集合的实现类2.1 HashMap类2.2 LinkedHashMap2.3 TreeMap 三、可变参数四、Collections类五、集合…

恭喜朱雀桥的越南薇妮她牌NFC山竹汁饮料,成为霸王茶姬奶茶主材

朱雀桥NFC山竹汁饮料:荣登霸王茶姬奶茶主材,非遗传承的天然之选 近日,据小编了解到:霸王茶姬欣喜地宣布,成功与朱雀桥达成合作越南薇妮她VINUT牌NFC山竹汁饮料。这款商超产品凭借其卓越的品质与独特的口感&#xff0c…

PostgreSQL安装教程及文件介绍

Ubuntu 安装和配置 PostgreSQL 以 Ubuntu Server 20.04,PostgreSQL 12 版本为例。 1. 安装 使用如下命令,安装指定版本的 PostgreSQL sudo apt install postgresql-12在 Ubuntu 20.04 中安装 PostgreSQL 登录您的 Ubuntu 系统并使用以下 apt 命令更新…

Java web应用性能分析之【prometheus监控指标体系】

Java web应用性能分析之【系统监控工具prometheus】_javaweb服务器性能监控工具-CSDN博客 Java web应用性能分析之【prometheusGrafana监控springboot服务和服务器监控】_grafana 导入 prometheus-CSDN博客 因为篇幅原因,前面没有详细说明Prometheus的监控指标&…

数据结构 —— 哈夫曼树

数据结构 —— 哈夫曼树 哈夫曼树定义构造算法特性应用 哈夫曼编码核心概念工作原理特点 我们今天来看哈夫曼树: 哈夫曼树 哈夫曼树(Huffman Tree),是一种特殊的二叉树,由D.A. Huffman在1952年提出,主要用…

[面试题]计算机网络

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

WAIC2024 | 华院计算邀您共赴2024年世界人工智能大会,见证未来科技革新

在智能时代的浪潮汹涌澎湃之际,算法已成为推动社会进步的核心力量。作为中国认知智能技术的领军企业,华院计算在人工智能的广阔天地中,不断探索、创新,致力于将算法的潜力发挥到极致。在过去的时日里,华院计算不断探索…

Java - Execl自定义导入、导出

1.需求:问卷星答 下图框出区域,为用户自定义字段问题及答案 2.采用技术EasyExcel 模板所在位置如下 /*** 导出模板** param response*/ Override public void exportTemplate(HttpServletResponse response) throws IOException {ClassPathResource c…

配置 Cmder 到鼠标右键

win Q 快捷键搜索 cmd,以管理员身份运行 在命令行输入 cmder.exe /REGISTER ALL

OpenCloudOS开源的操作系统

OpenCloudOS 是一款开源的操作系统,致力于提供高性能、稳定和安全的操作系统环境,以满足现代计算和应用程序的需求。它结合了现代操作系统设计的最新技术和实践,为开发者和企业提供了一个强大的平台。本文将详细介绍 OpenCloudOS 的背景、特性…

品牌进行3D数字化转型,有哪些优势?

各行业都在经历着从增量市场向存量市场的转变,同时用户的消费观念也日趋成熟,更加注重产品的体验和服务质量。 无论是线上购物平台还是线下实体门店,提供个性化和增强体验感的产品与服务已成为未来发展的核心驱动力,品牌转型也迫…

SyncFolders文件备份—办公人员必备

SyncFolders支持在两个或多个文件夹之间同步文件,用户可以将重要文件同步到多个位置,如备份硬盘、网络共享文件夹或云存储等。通过设定同步规则,可以自动备份和同步更新,减少手动操作的繁琐,确保文件的安全和可访问性。…