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

MySQL基础多表查询

多表关系

一对一:

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

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

一对多:

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

多对多:

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

多表查询概述

从多张表中进行数据查询

笛卡尔积

怎么消除无效的笛卡尔积

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

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

内连接

返回交集部分数据

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

外连接

自连接

自己连接自己进行查询

表必须起别名。

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

联合查询 union/union all

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

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

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

子查询

标量子查询

列子查询

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

行子查询

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

表子查询

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

总结

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

http://www.lqws.cn/news/453259.html

相关文章:

  • docker安装datax详细步骤
  • AUTOSAR实战教程--OS调试利器ORTI文件使用说明OSEK调试方法
  • OBCP第二章 OceanBase 存储引擎高级技术学习笔记
  • 63 网络交互的过程中目标设备的选择
  • PROFIBUS DP 转 EtherCAT 网关:冶金自动化高效协同的基石
  • 深入剖析HashMap与LinkedHashMap应用
  • 前端页面Javascript数组
  • python之使用cv2.matchTemplate识别缺口滑块验证码---实现最佳图像匹配
  • 主流测距技术深度解析:激光雷达、UWB、微波与视觉方案的全面对比
  • 今日行情明日机会——20250620
  • 响应式数据可视化大屏解决方案,重构工业交互体验
  • 【深度学习基础与概念】笔记(一)深度学习革命
  • 【Golang】go build 命令选项-ldflags用法
  • Spring @ModelAttribute注解全解析:数据绑定与模型管理
  • ceph 通过 crush rule 修改故障域
  • DataWhale-零基础络网爬虫技术(二er数据的解析与提取)
  • LeetCode热题100—— 169. 多数元素
  • leetcode 291. Word Pattern II和290. Word Pattern
  • 解锁数据宝藏:数据挖掘之数据预处理全解析
  • 在Django中把Base64字符串保存为ImageField
  • 思辨场域丨AR技术如何重塑未来学术会议体验?
  • LVS vs Nginx 负载均衡对比:全面解析
  • leetcode-2966.划分数组并满足最大差限制
  • 多相机三维人脸扫描仪:超写实数字人模型制作“加速器”
  • Android Java语言转Kotlin语言学习指导实用攻略
  • 单片机3种按键程序消抖方法
  • DB-GPT启动提示please install by running `pip install cryptography`
  • 函数指针的回调函数与函数跳转执行
  • 国产芯片能在服务器领域替代Intel(经验总结贴)
  • Git——分布式版本控制工具