MySQL-多表查询

ops/2024/10/19 14:55: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/ops/126745.html

相关文章

小猿口算炸鱼脚本

目录 写在前面: 一、关于小猿口算: 二、代码逻辑 1.数字识别 2.答题部分 三、代码分享: 补充:软件包下载 写在前面: 最近小猿口算已经被不少大学生攻占,小学生直呼有挂。原本是以为大学生都打着本…

数据分析方法(回归分析,决策树与神经网络,提升树,时间序列分析,假设检验,用户画像,竞品分析)等

1.回归分析 回归分析是一种统计方法,用于探索自变量(预测变量)和因变量(目标变量)之间的关系。它可以帮助预测变量的变化对目标变量的影响大小。例如,简单线性回归用于分析两个变量之间的线性关系&#xf…

【工程测试技术】第4章 常用传感器分类,机械式,电阻式,电容式,电感式,光电式传感器

上理考研周导师的哔哩哔哩频道 我在频道里讲课哦 目录 4.1 常用传感器分类 4.2 机械式传感器及仪器 4.3 电阻式、电容式与电感式传感器 1.变阻器式传感器 2.电阻应变式传感器 3.固态压阻式传感器 4.典型动态电阻应变仪 4.3.2 电容式传感器 1.变换原理 2.测量电路 …

Vidmore Screen Recorde 2.0.20 学习 体验 不错!

有难度,历时5个小时,两个文件交叉验证,网络验证,QT5,源码都在图片里面。 补充补丁类 public class PatchManager : INotifyPropertyChanged {public class PatchOperation{public long Offset { get; set; }public …

Linux中安装python3.8

源码安装 Python 3.8 安装编译所需的依赖:首先安装一些编译 Python 所需的依赖包: yum groupinstall "Development Tools" yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel下载 Python 3.8 源码: cd /usr/s…

前端页面使用google地图api实现导航功能,开发国外网站免费简单好用

开发国外软件的时候,想使用goole map实现导航等功能,可以使用google的api来做,官方文档地址:https://developers.google.com/maps/documentation/urls/get-started?hlzh-cn ,比如: 支持的请求的操作&…

【Java语言】逻辑控制

在Java中控制条件的语句几乎都是布尔表达式(只有true和false),与C语言不一样。 顺序控制 按照一定的顺序排序(事先准备好的);eg:阿拉伯数字是按顺序的等等 分支结构 if语句 if后面的表达式必…

【Vue】--项目文件结构

以下是一个基本的Vue项目结构框架: vue-project/ │ ├── node_modules/ # 项目依赖模块 │ ├── public/ # 静态资源目录 │ ├── favicon.ico # 网站图标 │ └── index.html # 入口 …