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

二十一、MySQL(多表)内连接、外连接、自连接实现

1、多表查询

(1)基础概念:

 (2)多表查询的分类:

2、内连接

(1)基础概念: 

(2)隐式内连接:

基础语法:

select 表1.name,表2.name from 表1,表2 where 表1.外键=表2.被链接的字段;

实际操作:

# (1)查询每一个员工的姓名,以及关联的部门名称--隐式查询
select emp.name,course.name from emp,course where emp.number=course.id;

(3)显式内连接:

基础语法:

select 表1.name,表2.name from 表1 inner join 表2 on 表1.外键 =表2.被链接的字段;

实际操作:

# (2)查询每一条员工的姓名,以及关联的部门名称--显式查询
# inner join ... on ...
select emp.name,course.name from emp inner join course on emp.number =course.id;

(4)区别:

        相对而言,隐式连接好理解好书写,语法简单,担心的点较少。但是显式连接可以减少字段的扫描,有更快的执行速度。这种速度优势在3张或更多表连接时比较明显。

3、外连接

(1)基础概念:

 

 (2)左外连接:

-- 外连接演示:
-- 1、查询emp表的所有数据,和对应的部门信息(左外连接):
-- 表结构:emp、course
-- 左外连接,会显示左表中的每一条数据
select emp.*,course.name from emp left outer join course on emp.number=course.id;

(3)右外连接:

-- 2、查询course表的所有数据,和对应的员工信息(右外连接):
-- 表结构:emp、course
-- 右外连接,会显式左表中的每一条数据
select course.*,emp.* from emp right outer join course on emp.number=course.id;

 4、自连接

(1)基础概念:

自连接顾名思义,就是自己链接自己,基础语法如下:

select 字段列表 from 表A 别名A join 表A 别名B on 条件……;

(2)原表格:

 (3)实际操作:

-- 自链接演示
# 一张表自己连接自己
# select 字段列表 from 表A 别名A join 表A 别名B on 条件……;
# 查询员工及其所属领导的名字
select e1.name as '员工',e2.name as '领导' from emp e1 join emp e2 on e1.manager=e2.id;

http://www.lryc.cn/news/169356.html

相关文章:

  • Zookeeper运维
  • uniapp 点击事件-防重复点击
  • 推进“数智+数治”,中期科技智慧公厕驱动城市公厕更新升级发展
  • 4、模板(二叉树,红黑树,STL的实现)
  • 了解JVM
  • vue2实现组织机构树
  • JS中BigInt的使用
  • 你的第1个 Unity 游戏!!!
  • 炫云云渲染3ds max效果图渲染教程
  • Java中数组array和列表list相互转换
  • 【JavaSE笔记】数据类型与变量
  • VR全景智慧文旅解决方案,助力文旅产业转型升级
  • 采用cv2和默认的人脸识别分类器实现人脸检测功能
  • C# 实现迷宫游戏
  • chales 重写/断点/映射/手机代理/其他主机代理
  • django添加数据库字段进行数据迁移
  • flink1.15.0消费kafka 报错 The coordinator is not available.
  • 2023华为杯研究生数学建模F题思路模型代码(9.22早第一时间更新)
  • [k8s] pod的创建过程
  • [网鼎杯 2020 朱雀组]phpweb call_user_func()
  • 电脑怎么取消磁盘分区?
  • Cascade-MVSNet CVPR-2020 学习笔记总结 译文 深度学习三维重建
  • 【JVM】Java类的加载机制!
  • Postman使用_接口导入导出
  • linux下centos7升级python版本
  • Python空值None的意义
  • 什么是无线传输技术,如Wi-Fi、蓝牙和NFC的特点和应用场景
  • RUST 每日一省:全局变量
  • Arduino与Proteus仿真-WiFi网络仿真环境搭建
  • 陪诊系统|陪诊软件革新医疗体验