MySQL 联结是指在 MySQL 数据库中连接两个或多个表的操作。这种连接方式可以让我们在查询数据时,从不同的表中获取所需的信息,而不是从单个表中获取。MySQL 中有三种常用的联结方式:内连接、左连接和右连接。
内连接(INNER JOIN)是最常用的联结方式,它只返回两个表中都有的行。
左连接(LEFT JOIN)返回左表中的所有行,以及右表中与左表匹配的行。如果右表中没有与左表匹配的行,则返回 NULL 值。
右连接(RIGHT JOIN)与左连接相似,但是返回右表中的所有行,以及左表中与右表匹配的行。如果左表中没有与右表匹配的行,则返回 NULL 值。
下面是一个简单的 MySQL 联结的例子,假设有两个表:customers 和 orders。customers 表包含顾客的信息,而 orders 表包含订单信息。我们想要查询每个顾客的名字和订单数量。我们可以使用内连接来实现:
SELECT customers.name, COUNT(orders.id) as num_orders
FROM customers
INNER JOIN orders
ON customers.id = orders.customer_id
GROUP BY customers.id;
这条查询会返回每个顾客的名字以及与该顾客相关的订单数量。