MySQL-多表查询

embedded/2024/10/23 3:36:03/

子查询[分步走]

在这里插入图片描述

1:一个sql的查询结果当做另一个sql的查询条件.
2:内层的那个sql语句要先执行

在这里插入图片描述

```sql
-- todo --------------子查询---(嵌套查询)---------------
-- 例如,使用命令完成:
-- (1)使用数据库班级db_product3下的商品表和分类表来操作;
-- (2)查询商品表、分类表的所有数据信息;
select * from tb_product;
select * from tb_category;
-- (3)查询分类为"服装"的所有商品信息;[分类id、商品]
select cid from tb_category where cname = '服装';
select * from tb_product where cid = (select cid from tb_category where cname = '服装');-- (4)查询商品名称为"格力"的分类信息;
select cid from tb_product where name = '格力';
select cname from tb_category where cid = (select cid from tb_product where name = '格力');-- (5) 查询商品价格高于平均价格的商品信息
select * from tb_product where price > (select avg(price) from tb_product);

交叉连接[了解]

在这里插入图片描述

-- todo 交叉连接---笛卡尔积查询----[了解]---------
# 语法1:
select * from table_category,table_product;
# 语法2:
select * from table_product cross join table_category;

内连接

在这里插入图片描述

查询的是两个表的交集.

在这里插入图片描述

-- todo 内连接查询 --[掌握]--------------
# 例如,使用内连接查询命令完成:
# (1)使用隐式内连接查询类别表和商品表的共有数据信息;
# select * from table_category,table_product where table_category.cid = table_product.category_id;
select * from table_product tp,table_category tc where tc.cid = tp.category_id;-- 使用别名
# (2)使用显式内连接来查询类别表和商品表的公共商品信息;
select * from table_category tc inner join table_product tp on tc.cid = tp.category_id;
select * from table_category tc  join table_product tp on tc.cid = tp.category_id; -- 省略inner

在这里插入图片描述

左外连接

在这里插入图片描述
在这里插入图片描述

左连接查询的是:左表的全部和右边表能连接上的数据.
左边特有的数据:右边没有的值用null填充
# -- todo 左外连接查询-----------左边的全部和右表中能关联的数据.
# 例如,使用左外连接查询命令完成:
# (1)以左表为主,连接查询类别表和商品表中的所有商品数据信息
select * from table_category tc left join table_product tp on tc.cid = tp.category_id;
#(2)以左表为主,连接查询商品表和类别表中的所有商品数据信息
select * from table_product tp left join table_category tc  on tc.cid = tp.category_id;

在这里插入图片描述

右连接[了解]

在这里插入图片描述

右连接查询的是:右表的全部和左边表能连接上的数据.
右边特有的数据:左边没有的值用null填充

在这里插入图片描述

# -- todo 右外连接查询-----------右边的全部和左表中能关联的数据.[了解]
select * from table_category tc right join table_product tp on tc.cid = tp.category_id;

在这里插入图片描述


http://www.ppmy.cn/embedded/129725.html

相关文章

【Linux】总线-设备-驱动模型

背景 前面,我们介绍了写驱动代码的一些常规步骤,并且也写了最基本的驱动代码,但是那些代码存在着问题,我们将硬件的信息都写进了驱动里了,如果我们在杂项设备驱动中控制led,那么会在硬件操作接口中包含硬件…

Spring Cloud微服务技术选型指南

Spring Cloud微服务技术选型指南 随着软件架构从单体应用向微服务转变,Spring Cloud作为一种强大的微服务架构开发工具被广泛采用。它提供了一系列组件和工具来简化微服务架构的开发、部署和管理。本博客将探讨Spring Cloud微服务技术选型的各个方面,帮…

Java基于SSM框架的教学辅助微信小程序【附源码、文档】

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

Vscode的远程开发之VScode优势(一)

一、VSCode 优势 时代的弄潮儿 vscode是微软开源的基于electron的编辑器,通过各种各样的插件,它能够变成你最花里胡哨的IDE。 vscode 最大的特点与优势就是它将Server与Client解耦: 作为Client的vscode,他只负责作为文本编辑器…

apifox发送请求,参数类型为枚举类

背景 使用apifox模拟前端发送请求时,对于string、int等基本类型直接选择就ok了,但是后端controller的参数是枚举类的时候,我就有点蒙了,不知道应该发送什么过去,apifox也不可能有咱们自定义的枚举类 解决 实际上&am…

.net framework 3.5sp1安装错误怎样解决?

.net framework 3.5sp1安装错误怎样解决? 解决.NETFramework3.5SP1安装错误的方法通常包括以下几个步骤: 1.确保系统更新:首先,确保你的Windows系统是最新的。可以通过WindowsUpdate检查更新。 2.使用DISM工具:使用…

同步和异步、引用、变量声明、全局变量

同步和异步 如果计算机足够快,任何资源的访问速度都像Cache一样,没有异步的必要。 编程语言的同步和异步 越早期的编程语言,支持语言级别的异步越欠缺。 JS提供某些操作的同步和异步函数,例如文件读取,fs.readFile和fs…