mysql之连表查询

目录

内连接:

外连接:

左外连接

右外连接

全外连接


内连接:

假设数据库表 dept

|--------|----------|
| deptno | deptname |
| 1 | 测试 |
| 3 | 开发 |

​​​​​​​ emp

|-------|---------|--------|
| empno | empName | deptno |
| 1 | 李四 | 1 |
| 2 | 张三 | 2 |

语法1

select 查询字段 from table1 t1,table2 t2 where t1.id=t2.id(关联字段)

例子:查询一个部门下的员工信息

select e.empname '姓名',d.deptname '部门名称' form dept d,emp e where d.deptno=e.deptno

|----|------|
| 姓名 | 部门名称 |
| 李四 | 测试 |

语法2

select 查询字段 from table1 t1 inner join table2 t2 on t1.id=t2.id(关联字段)

例子:查询一个部门下的员工信息

select e.empname '姓名',d.deptname '部门名称' form dept d inner join emp e on d.deptno=e.deptno

|----|------|
| 姓名 | 部门名称 |
| 李四 | 测试 |

外连接:

  • 1、数据集合上的区别

  • (1)左外连接:是A与B的交集,然后连接A的所有数据。

  • (2)右外连接:是A与B的交集,然后连接B的所有数据。

  • (3)全外连接:就是A与B的并集

左外连接

以左边表为主表

假设数据库表 dept

|--------|----------|
| deptno | deptname |
| 1 | 测试 |
| 3 | 开发 |

​​​​​​​ emp

|-------|---------|--------|
| empno | empName | deptno |
| 1 | 李四 | 1 |
| 2 | 张三 | 2 |

select e.*,d.name from dept d left join emp e on d.deptno=e.deptno

得出结果集为

|-------|---------|--------|----------|
| empno | empname | deptno | deptname |
| 1 | 李四 | 1 | 测试 |
| 2 | 张三 | 2 | null |

右外连接

select e.*,d.name from dept d right join emp e on d.deptno=e.deptno

得出结果集为

|-------|---------|--------|----------|
| empno | empname | deptno | deptname |
| 1 | 李四 | 1 | 测试 |
| null | null | null | 开发 |

全外连接

select e.*,d.name from dept d full join emp e on d.deptno=e.deptno

得出结果集为

|-------|---------|--------|----------|
| empno | empname | deptno | deptname |
| 1 | 李四 | 1 | 测试 |
| null | null | null | 开发 |
| 2 | 张三 | 2 | null |

​​​​​​​

相关推荐
LiRuiJie10 分钟前
深入剖析MySQL锁机制,多事务并发场景锁竞争
数据库·mysql
2501_9153743520 分钟前
Faiss向量数据库全面解析:从原理到实战
数据库·faiss
睡觉待开机26 分钟前
0. MySQL在Centos 7环境安装
数据库·mysql·centos
2501_9153743526 分钟前
Faiss vs Milvus 深度对比:向量数据库技术选型指南
数据库·milvus·faiss
一叶知秋哈1 小时前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
傻啦嘿哟1 小时前
Python 数据分析与可视化实战:从数据清洗到图表呈现
大数据·数据库·人工智能
cookqq2 小时前
mongodb源码分析session异步接受asyncSourceMessage()客户端流变Message对象
数据库·sql·mongodb·nosql
呼拉拉呼拉2 小时前
Redis故障转移
数据库·redis·缓存·高可用架构
什么都想学的阿超2 小时前
【Redis系列 04】Redis高可用架构实战:主从复制与哨兵模式从零到生产
数据库·redis·架构
pp-周子晗(努力赶上课程进度版)2 小时前
【MySQL】视图、用户管理、MySQL使用C\C++连接
数据库·mysql