INNER JOIN 是一种连接表的操作,只返回两个表中具有匹配记录的行。它用于关联不同表中的记录,过滤和获取特定数据,并创建复杂查询。使用时需指定连接条件,即两个表之间匹配的列。该操作仅返回匹配的行,不匹配的行将被过滤掉。

MySQL 中 INNER JOIN 的用法
定义:
INNER JOIN 是一种连接两个表的查询操作,它只返回两个表中具有匹配记录的行。
语法:
SELECT column_list FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
用途:
INNER JOIN 用于从多个表中检索相关数据,当两个表之间存在共通列时使用,从而建立关系并只返回具有匹配记录的行。
使用场景:
- 关联不同表中的记录,例如从客户表中获取订单信息。
- 从多个表中过滤和获取特定数据,例如筛选出具有特定状态的订单。
- 创建复杂查询以连接多个表并返回特定结果。
示例:
假设我们有两个表,customers 和 orders:
| customers | orders | |
|---|---|---|
| id | id | |
| name | customer_id | |
| city | product_name | |
| quantity |
要获取每个客户的订单数量,我们可以使用 INNER JOIN:
SELECT c.name, COUNT(o.product_name) AS order_count FROM customers c INNER JOIN orders o ON c.id = o.customer_id GROUP BY c.name;
注意要点:
- INNER JOIN 确保只返回两个表中具有匹配记录的行,不匹配的行将被过滤掉。
- 连接条件指定了两个表之间匹配的列。
- 可以使用多个连接条件来指定更复杂的连接关系。










