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

MySQL基础多表查询

多表关系

一对一:

多用于单表的拆分,比如将用户信息拆分为基础信息和其他详情字段,提升操作效率

需要在外键上加上unique约束,一对多就不用。

一对多:

在多的一方建立外键,指向一的一方的主键

多对多:

建立中间表,中间表包含另外两个表的主键

多表查询概述

从多张表中进行数据查询

笛卡尔积

怎么消除无效的笛卡尔积

多表查询分为:连接查询和子查询

连接查询又有:内连接、外连接、自连接

内连接

返回交集部分数据

如果给表起了别名,那原来的表名就没用了,和执行顺序也有关

外连接

自连接

自己连接自己进行查询

表必须起别名。

想象成两张表,进行内连接、外连接。

联合查询 union/union all

对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集合

union all直接将查询结果合并,union将查询结果去重

上下两个查询的字段要相同,不然不能使用union

子查询

标量子查询

列子查询

子查询只返回一个字段,可以有多个数据

行子查询

查询的是一条数据,但是有多个字段

表子查询

子查询返回的结果是一张表,将返回的表再作为一张临时表再和其他表进行联查操作

总结

子查询的位置可以出现在:where、from、select之后

相关文章:

  • uniapp实现像qq消息列表左滑显示右侧操作栏效果
  • Qt—(Qt线程,Qt进程,,QT与sqlite数据库)
  • 学习华为 ensp 的学习心得体会
  • SP-VLA:一种用于 VLA 模型加速的联合模型调度和 token 剪枝方法
  • 力扣-136.只出现一次的数字
  • C语言:二分搜索函数
  • linux中的数据检索
  • mysql查询使用`_rowid` 虚拟列
  • iOS APP上架App Store实践:通过自动化流程和辅助工具高效提
  • 【Python】.pyz:源码与依赖打包
  • IPv6 | 地址解析 / 地址管理 / 邻居发现协议(NDP)/ 无状态自动配置(SLAAC)
  • Spring Boot自动配置原理
  • Spring Boot + MyBatis + Vue:全栈开发中的最佳实践
  • ASP3605芯片在煤炭设备电源管理中的可靠性设计与应用探索
  • mapbox进阶,mapbox-gl-draw绘图插件扩展,编辑支持右键取消节点
  • SAP调用api
  • 创客匠人服务体系解析:知识 IP 变现的全链路赋能模型
  • 【网工】华为配置专题进阶篇③
  • FPGA--hello
  • MySQL慢SQL优化全攻略:从诊断到调优
  • 备案域名价格/百度小程序优化排名
  • 青海网站建设公司哪家好/网站推广的方式有哪些
  • 网站设计团队/全网推广成功再收费
  • 网站建设相关知识博客/山东济南最新消息
  • vue框架做的网站/搜狗搜索引擎优化指南
  • 杭州网站建设电话/排名前十的大学