MYSQL内外连接

文章目录


在MYSQL中,表的连接分为内连和外连。

一、内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。

cpp 复制代码
语法:
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;

显示SMITH的名字和部门名称

这是我们前面的写法,而标准写法是:

二、外连接

1.左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。

cpp 复制代码
语法:
select 字段名 from 表名1 left join 表名2 on 连接条件

我们创建以下表,并向其中插入数据:

cpp 复制代码
-- 建两张表
create table stu (id int, name varchar(30)); -- 学生表
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');

create table exam (id int, grade int); -- 成绩表
insert into exam values(1, 56),(2,76),(11, 8);

我们进行左外连接:

所以我们总结左外连接的特点:当左边表和右边表没有匹配时,也会显示左边表的数据。

2.右外连接

如果联合查询,右侧的表完全显示我们就说是右外连接。

cpp 复制代码
语法:
select 字段 from 表名1 right join 表名2 on 连接条件;

我们进行右外连接:

相关推荐
Zan3 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶4 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan5 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB5 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹6 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen6 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶7 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农9 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan9 小时前
搭建Oracle RAC 集群
数据库·oracle