一、什么是内毗连(inner join)
`INNER JOIN`是SQL中的一种毗连类型,用于将两个或多个表中的记录根据某个条件举行匹配,并返回匹配的记录。它只返回那些在两个表中都有匹配的记录。
以下是一个示例的`INNER JOIN`查询语句:
SELECT table1.column1, table2.column2
FROM table1
INNER JOIN table2
ON table1.common_column = table2.common_column;
二、内毗连(inner join)的用法
下面我们使用3个查询示例,讲解内毗连(inner join)在查询中的使用场景。
以下是一份学生信息登记表、一份考试结果表、一份出生地登记表
表1:学生信息登记表
表2:部分学天生绩表
表3:出生地登记表
1、要求查询出参加了考试的学生信息。
使用'学号'作为毗连键,毗连两个表
- SELECT
- y.学号,
- y.姓名,
- y.总分,
- x.班级,
- x.入学日期,
- x.联系电话
- FROM
- 学籍信息 AS x
- INNER JOIN 部分学生成绩 AS y
- ON x.学号 = y.学号;
复制代码 以上语句表示让表“学籍信息”的列“学号”和表“部分学天生绩”的列“学号”作为匹配的毗连键。
可以看到使用inner join (内毗连)将两个表毗连后,对有考试结果的学生信息举行了补全
2、要求查询出考试结果在90分以上的学生信息。
- SELECT
- y.学号,
- y.姓名,
- y.总分,
- x.班级,
- x.入学日期,
- x.联系电话
- FROM
- 学籍信息 AS x
- INNER JOIN 部分学生成绩 AS y
- ON x.学号 = y.学号
- where 总分 >= 90;
复制代码 以上查询通过设置where过滤条件,查询出了总分大于90分的学生信息。
3、要求查询出考试结果在90分以上学生的户籍地。
- SELECT
- y.学号,
- y.姓名,
- y.总分,
- x.班级,
- x.入学日期,
- x.联系电话,
- z.户口性质,
- z.户籍地
- FROM
- 学籍信息 AS x
- INNER JOIN 部分学生成绩 AS y
- ON x.学号 = y.学号
- inner join 出生地 as z
- on x.学号 = z.学号
- where 总分 >= 90;
复制代码 以上查询通过毗连3个表,设置where过滤条件,查询出了总分大于90分的学生信息。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |