MySQL从入门到精通50讲(三十八)-表连接原理

本文详细介绍了MySQL中的表连接查询,包括连接的本质、连接的过程、内连接与外连接的语法和区别。重点讲解了内连接和外连接的工作原理,以及如何通过索引和Join Buffer优化连接查询性能。此外,还探讨了嵌套循环连接(NLJ)和基于块的嵌套循环连接(BNL)两种连接算法,帮助读者深入理解MySQL连接查询的底层机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

我们还是先来准备一些测试数据。

--Create Database
CREATE DATABASE `test_join` DEFAULT CHARACTER SET utf8mb4;

--Create Table
USE `test_join`;

CREATE TABLE book (
    id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '图书编号',
    title VARCHAR(50) DEFAULT NULL COMMENT '书名',
    type_id INT(11) DEFAULT NULL COMMENT '图书类型编号'
) ENGINE=InnoDB COMMENT '图书表';

--Insert Test Data
INSERT INTO book VALUES
(1, '《MySQL是怎样运行的:从根儿上理解MySQL》', 1),
(2, '《MySQL实战45讲》', 1),
(3, '《C语言程序设计:现代方法》', 2),
(4, '《奔跑吧Ansible》', 3),
(5, '《Redis开发与运维》', 4),
(6, '《Kubernetes权威指南》', 5),
(7, '《白雪公主与七个小矮人》', NULL),
(8, '《青年文摘杂志》', NULL),
(9, '《明朝那些事儿》', NULL);

--Create Table
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文宇肃然

精神和物质鼓励你选一个吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值