MySQL中JOIN的用法是什么

2023-12-21

在MySQL中,JOIN用于将两个或多个表的行连接在一起,以便根据特定的关联条件从这些表中检索相关数据。

JOIN的用法如下:

  1. INNER JOIN(内连接):返回两个表中满足连接条件的行。语法如下:

    SELECT 列名
    FROM 表1
    INNER JOIN 表2
    ON 表1.列名 = 表2.列名;
    
  2. LEFT JOIN(左连接):返回左表中所有行以及右表中满足连接条件的行。如果右表中没有匹配的行,则结果中右表的列将为NULL。语法如下:

    SELECT 列名
    FROM 表1
    LEFT JOIN 表2
    ON 表1.列名 = 表2.列名;
    
  3. RIGHT JOIN(右连接):返回右表中所有行以及左表中满足连接条件的行。如果左表中没有匹配的行,则结果中左表的列将为NULL。语法如下:

    SELECT 列名
    FROM 表1
    RIGHT JOIN 表2
    ON 表1.列名 = 表2.列名;
    
  4. FULL JOIN(全连接):返回左表和右表中所有行,并将满足连接条件的行进行连接。如果左表或右表中没有匹配的行,则结果中的对应列将为NULL。语法如下:

    SELECT 列名
    FROM 表1
    FULL JOIN 表2
    ON 表1.列名 = 表2.列名;
    

除了常见的INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN之外,MySQL还支持其他类型的JOIN,如CROSS JOIN(交叉连接)和SELF JOIN(自连接),用法可以根据具体的需求灵活运用。