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 |

​​​​​​​

相关推荐
数智化管理手记2 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
翊谦2 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
難釋懷3 小时前
OpenResty实现Redis查询
数据库·redis·openresty
别抢我的锅包肉3 小时前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
Database_Cool_3 小时前
OpenClaw-Observability:基于 DuckDB 构建 OpenClaw 的全链路可观测体系
数据库·阿里云·ai
刘~浪地球4 小时前
Redis 从入门到精通(五):哈希操作详解
数据库·redis·哈希算法
zzh0814 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely20175 小时前
MySQL数据表管理
数据库·mysql
爬山算法5 小时前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
APguantou5 小时前
NCRE-三级数据库技术-第2章-需求分析
数据库·需求分析