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 |

​​​​​​​

相关推荐
陌上丨3 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56783 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw4 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30734 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道4 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据5 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务5 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯7 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七7 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草7 小时前
redis-9-哨兵
数据库·redis·bootstrap