当前位置: 首页 > news >正文

mysql笔记8(多表查询)

文章目录

  • 1. union联合查询
    • 可能会用到去重操作
  • 2. inner join 内连接
  • 3. left join 左连接
  • 4. right join 右连接
  • 5. cross join 交叉连接
  • 6. natural join 自然连接
    • natural left join 自然左连接
    • natural right join 自然右连接
    • 自然连接的两张表没有同名字段怎么办?
  • 7. using 当两张表字段名都相同时,指定连接字段
  • 8. 哪个连接实用?
  • 9. 内容出处

1. union联合查询

① 联合查询:用union把两个查询语句结合在一起
② 两个查询语句,字段及其数据类型一不一样无所谓,但是字段个数必须一致

在这里插入图片描述

可能会用到去重操作

如果两张表查询的字段名一样,可能会用到distinct去重操作(但是从下面的结果来看,union联合好像自动去重了)
在这里插入图片描述
在这里插入图片描述

2. inner join 内连接

select 字段名,字段名 from 主表 inner join 从表 inner join 从表 on 主表.公共字段=从表.公共字段=从表.公共字段
作用:联合查询
注意:一定要确认主从关系、建立公共字段。可以不使用外键
举例理解(score里的stuId来自student表里id):
在这里插入图片描述
在这里插入图片描述
(上述score表里没有jerry的成绩(ta缺考了),所以联合查询的结果也没ta)
在这里插入图片描述
(三张表联合查询)

3. left join 左连接

以左表为基准
怎么理解?
在这里插入图片描述
在这里插入图片描述
以左边为基准,就算右边那张表里没有2号学生的信息,查询结果依然显示2号学生

4. right join 右连接

以右表为基准
怎么理解?
在这里插入图片描述
在这里插入图片描述
以右边为基准,就算左边那张表里没有学号为12的学生信息,查询结果依然显示12号学生

5. cross join 交叉连接

select 字段名 from 表名 cross 表名;
默认返回一个笛卡尔积
在这里插入图片描述
加上where 表名.公共字段=表名.公共字段后,返回值类似于内连接
在这里插入图片描述

6. natural join 自然连接

① natural join其实默认是自然内连接,根据同名字段连接两张表。
② 好处:不用写两边公共的字段名,但是必须保证两边公共字段名一致
在这里插入图片描述

natural left join 自然左连接

在这里插入图片描述

natural right join 自然右连接

在这里插入图片描述

自然连接的两张表没有同名字段怎么办?

返回笛卡尔积
在这里插入图片描述

7. using 当两张表字段名都相同时,指定连接字段

情境:t1和t3有两个公共字段 id 和 name,这两张表自然连接会产生什么结果?-- 返回一张空表
在这里插入图片描述
怎么办?
在这里插入图片描述

8. 哪个连接实用?

        出于对代码可读性的考虑,基本不会用到自然连接和using

9. 内容出处

mysql


http://www.mrgr.cn/news/26300.html

相关文章:

  • 【【通信协议之ICMP协议】】
  • 质量体系和质量过程管理及SCIOT平台质量管理功能简介
  • Java项目: 基于SpringBoot+mybatis+maven宠物咖啡馆平台(含源码+数据库+毕业论文)
  • 《C++PrimerPlus》第10章:类和对象
  • linux-IO-进程-线程(相关函数)
  • linux-L7-linux 查看json文件
  • 在VMware上怎么安装Windows11?看这个教程就足够了
  • MySQL基本查询
  • MySQL EXPLAIN输出信息
  • 高效率免费创作文章,4款ai写作生成器来帮忙
  • wopop靶场漏洞挖掘练习
  • AV1 Bitstream Decoding Process Specification--[4]:语法结构
  • 英文软件汉化中文软件教程asi exe dll 等汉化教程
  • PyTorch安装指南:轻松上手深度学习框架(CUDA)
  • ORCA-3D避障算法解析
  • Python3获取mysql慢sql日志内容并飞书预警
  • 2024数学建模国赛官方评阅标准发布!
  • Linux开发工具的使用
  • 基于SpringBoot+Vue+MySQL的画师约稿平台系统
  • 实际案例(7)你遇到这样的环境,如何解决?(这是一道讨论题)