inner join 跟join 有区别吗
时间: 2024-07-06 18:00:55 浏览: 106
`INNER JOIN` 是 SQL 中的一种基本联接操作,它返回两个或更多表中匹配的行。当两个表中的记录根据某个共同字段(键)存在匹配时,INNER JOIN 会合并这些匹配的行,并只返回结果集中包含匹配项的记录。
`JOIN` 关键字本身是一个通用术语,它包括多个类型的联接,包括 INNER JOIN(最常见),LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 等等。INNER JOIN 是 JOIN 的一种具体类型。
区别总结如下:
1. **含义**:`JOIN` 是一个总称,而 `INNER JOIN` 是 `JOIN` 的一个特例,即只返回两个表之间匹配的部分。
2. **返回结果**:INNER JOIN 只返回匹配的行,非匹配行将被忽略;而其他类型的 JOIN(如 LEFT JOIN)可能还会保留其中一个表中的所有行,即使没有匹配。
3. **默认行为**:如果没有特别指定,`JOIN` 通常指代 INNER JOIN,但在某些数据库系统中,可能需要明确指定 `INNER` 来避免歧义。
4. **示例**:例如,`SELECT * FROM table1 JOIN table2 ON table1.key = table2.key` 实际上就是 `SELECT * FROM table1 INNER JOIN table2 ON table1.key = table2.key`。
相关问题:
1. INNER JOIN 和其他 JOIN 类型的主要区别是什么?
2. 在什么情况下你会选择使用 LEFT JOIN 而不是 INNER JOIN?
3. 如果不明确指定,`JOIN` 是否默认为 `INNER JOIN`?
阅读全文