• MySQL Joins 学习笔记


    MySQL Joins 学习笔记

    1. Join 基础

    在数据库中,JOIN 是一种查询,它允许你从两个或多个表中检索数据。这些表通过共同的字段(通常称为键)连接在一起。

    1.1 Inner Join(内连接)

    • 只返回两个表中有匹配的行。
    • 如果没有匹配,则不返回任何内容。

    1.2 Outer Join(外连接)

    • 包括左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN)。
    • 至少返回一个表中的所有行,即使在另一个表中没有匹配。

    2. Left Join(左外连接)

    • 返回左表(LEFT JOIN 后面的表)的所有行,即使在右表中没有匹配。
    • 如果左表中的行在右表中没有匹配,那么右表的部分将包含 NULL。

    2.1 效率

    • 在某些情况下,左外连接可能比内连接更高效,因为它可以避免对右表进行全表扫描。

    3. Right Join(右外连接)

    • 类似于左外连接,但返回右表的所有行。
    • 如果右表中的行在左表中没有匹配,那么左表的部分将包含 NULL。

    4. Full Join(全外连接)

    • 返回两个表中所有的行。
    • 如果某行在另一个表中没有匹配,则相应部分包含 NULL。

    5. 自连接(Self Join)

    • 表可以与自身连接,通常用于处理具有层次结构的数据。

    6. 连接的效率

    • 连接操作的效率取决于数据库的索引、表的大小和数据库管理系统的优化。
    • 使用索引的字段作为连接条件可以显著提高查询效率。

    7. 实际应用

    • 在处理复杂的数据关系时,理解不同类型的连接及其效率至关重要。
    • 优化查询通常涉及到选择正确的连接类型和确保适当的索引。

    8. 示例

    -- 内连接示例
    SELECT *
    FROM TableA
    INNER JOIN TableB ON TableA.key = TableB.key;
    
    -- 左外连接示例
    SELECT *
    FROM TableA
    LEFT JOIN TableB ON TableA.key = TableB.key;
    
    -- 右外连接示例
    SELECT *
    FROM TableA
    RIGHT JOIN TableB ON TableA.key = TableB.key;
    
    -- 全外连接示例
    SELECT *
    FROM TableA
    FULL JOIN TableB ON TableA.key = TableB.key;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    UMA Frame Buffer Size 核显显存与CSGO帧率
    java命题方式
    基因大数据分析
    后Kubernetes时代的虚拟机管理技术之Virtual-Kubelet篇
    Vscode配置C#编程环境(win10)
    硬件设计哪些事-PCB设计那些事
    5G NR下行载波波形生成-Matlab
    计算机架构的新黄金时代,GPU能否继续保持辉煌?
    记录--怎么写一个可以鼠标控制旋转的div?
    如何挖掘xss漏洞
  • 原文地址:https://blog.csdn.net/suqieer/article/details/136615877