目录
INNER JOIN、LEFT JOIN和RIGHT JOIN是SQL中用于表连接的三种方式,它们各自适用于不同的情况。
INNER JOIN(内连接):A有B有
- 当你想从两个表中获取匹配的行,并且只需要返回两个表中都有的数据时使用INNER JOIN。
- INNER JOIN返回两个表中满足连接条件的行。如果一行在其中一个表中没有匹配项,那么该行就不会出现在结果集中。
- 当你需要获取两个表的交集时,可以使用INNER JOIN。
如,考虑以下两个表:students 和 teachers,其中 students 表包含学生信息,teachers 表包含教师信息,两者通过教师编号 Tid 相关联。如果我们想查询所有学生及其对应的教师信息,可以使用以下 SQL 查询:
SELECT students.*, teachers.* FROM students
INNER JOIN teachers ON students.Tid = teachers.Tid;
这将返回一个结果集,其中包含所有在 students 和 teachers 表中都存在对应 Tid 的行。如果某个学生没有对应的教师(或某个教师没有对应的学生),那么该学生(或教师)将不会出现在结果集中。
此外,INNER JOIN 还可以省略 INNER 关键字,只使用 JOIN,效果是一样的。