【776、MySQL几种联表查询】

117 阅读1分钟

在MySQL中,有多种方式可以进行联表查询。以下是几种常见的联表查询方式:

  1. INNER JOIN:内连接是最常用的联表查询方式之一。它基于两个表之间的匹配条件,返回同时满足条件的行。语法如下:

    SELECT 列列表
    FROM1
    INNER JOIN2 ON 连接条件;
    

    例如:

    SELECT Orders.OrderID, Customers.CustomerName
    FROM Orders
    INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
    
  2. LEFT JOIN / LEFT OUTER JOIN:左连接返回左表中的所有行,以及满足连接条件的右表中的匹配行。如果右表中没有匹配的行,则结果中对应的列为NULL。语法如下:

    SELECT 列列表
    FROM1
    LEFT JOIN2 ON 连接条件;
    

    例如:

    SELECT Customers.CustomerName, Orders.OrderID
    FROM Customers
    LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
    
  3. RIGHT JOIN / RIGHT OUTER JOIN:右连接返回右表中的所有行,以及满足连接条件的左表中的匹配行。如果左表中没有匹配的行,则结果中对应的列为NULL。语法如下:

    SELECT 列列表
    FROM1
    RIGHT JOIN2 ON 连接条件;
    

    例如:

    SELECT Customers.CustomerName, Orders.OrderID
    FROM Customers
    RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
    
  4. FULL JOIN / FULL OUTER JOIN:全连接返回左表和右表中的所有行,并将不匹配的行填充为NULL。语法如下:

    SELECT 列列表
    FROM1
    FULL JOIN2 ON 连接条件;
    

    例如:

    SELECT Customers.CustomerName, Orders.OrderID
    FROM Customers
    FULL JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
    

这些是MySQL中常见的联表查询方式,根据具体的数据关系和查询需求,可以选择适合的联表查询方式来获取所需的数据。