在SQL中,INNER JOIN是一种用于从两个或多个表中获取匹配行的方法。它根据两个表之间的共同列的值将两个表连接起来。INNER JOIN返回两个表中共有的行,同时根据指定的连接条件从每个表中选择匹配的行。
INNER JOIN的语法如下:
SELECT 列名
FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;
其中,表1和表2是要连接的表,在ON子句中指定了连接条件,该条件用于指定连接的列。连接条件可以使用比较运算符(如=、<、>等)来指定两个表中的共同列的匹配。
INNER JOIN将返回满足连接条件的行,并且只返回两个表中共有的行。如果没有匹配的行,则不会返回任何结果。
以下是一个示例,展示了如何使用INNER JOIN:
表1:学生
学生ID 姓名
1 张三
2 李四
3 王五
表2:成绩
学生ID 科目 分数
1 数学 90
2 数学 85
3 数学 95
查询学生的姓名和数学成绩:
SELECT 学生.姓名, 成绩.分数
FROM 学生
INNER JOIN 成绩
ON 学生.学生ID = 成绩.学生ID
WHERE 成绩.科目 = '数学';
结果:
姓名 分数
张三 90
李四 85
王五 95
这个例子中,INNER JOIN连接了学生表和成绩表,连接条件是学生ID。只有在学生表和成绩表中都有匹配的学生ID时,才会返回结果。在WHERE子句中,我们指定了科目为数学的条件,以限制查询结果。