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

[MySql] 多表关系, 多表查询

一. 多表关系

1.1 一对多

例如: 员工 - 部门表 (一个部门可以有多个员工)
并且在多的一方增加一个字段关联一的一方的主键.

外键约束:

  • 物理外键 (使用 foreign key 定义外键关联另一张表的主键)
    • 缺点: 影响增删改效率; 仅用于单节点, 不适用与集群; 易引发死锁, 性能低;
    • 在这里插入图片描述

- 逻辑外键 (不再使用foreign key, 推荐)
- 在这里插入图片描述

1.2 一对一

例如: 公民信息与身份证 (一个公民只有一张身份证)
依旧使用逻辑外键:

  • 在这里插入图片描述

1.3 多对多

例如: 课程与学生 (一个课程被多个学生选择, 一个学生选择多个课程)

创建第三张表:

  • 在这里插入图片描述

二. 多表查询

2.1 内连接

两张表的交集.
在这里插入图片描述

内连接:

  • 隐式内连接

    • 在这里插入图片描述
  • 显式内连接

    • 在这里插入图片描述

2.2 外连接

外连接:

  • 全外连接

    • 在这里插入图片描述
    • 在这里插入图片描述
  • 左外连接

    • 在这里插入图片描述

    • 在这里插入图片描述

  • 右外连接

    • 在这里插入图片描述

    • 在这里插入图片描述

2.3 子查询

子查询:

  • 标量子查询
  • 行子查询 (“()”)
  • 列子查询 (in)
  • 表子查询 (group by, 表联合查询)

参照我之前写的这篇文章: Mysql(二) - 约束, 进阶查询

相关文章:

  • 消息中心系统架构设计
  • 14 配置Hadoop集群-配置历史和日志服务
  • Zemax与Matlab交互:双胶合优化详细流程
  • Qt图形化界面为何总被“冷落“?
  • IPv6协议
  • STM32 ADC转换完成回调函数详解 HAL_ADC_ConvCpltCallback与HAL_ADC_ConvHalfCpltCallback
  • 轮胎厂相关笔记
  • Rancher2.8.5架构
  • 如何把数据从SQLite迁移到PostgreSQL
  • c++ primer 阅读手记 第七章
  • 【蓝桥杯】 枚举和模拟练习题
  • 统一语言学习范式
  • 企业级海外网络专线行业应用案例及服务商推荐
  • element-ui图片查看器
  • idea导入tomcat的jar
  • 算法学习11——滑动窗口——最大连续1的个数
  • 兼职网|基于Java+vue的兼职网系统(源码+数据库+文档)
  • 交换机、路由器、VLAN、单臂路由、三层交换、STP
  • python学习笔记(6)运算符
  • 蓝桥杯—日期遍历
  • 佛山app开发公司/seo快速推广
  • 怎么做淘课网站/营口建网站的公司
  • 唐山网站建设多少钱/电脑培训学校
  • 用中文模版可以做英文网站吗/网站seo软件
  • wordpress站点地图样式/适合40岁女人的培训班
  • 网站编辑人才队伍建设/百度小说排行榜2021