SQL中的内连接(inner join)用法

一、什么是内连接(inner join)

`INNER JOIN`是SQL中的一种连接类型,用于将两个或多个表中的记录根据某个条件进行匹配,并返回匹配的记录。它只返回那些在两个表中都有匹配的记录。

以下是一个示例的`INNER JOIN`查询语句:

SELECT table1.column1, table2.column2

FROM table1

INNER JOIN table2

ON table1.***mon_column = table2.***mon_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分的学生信息。

 

 

 

 

 

 

 

转载请说明出处内容投诉
CSS教程_站长资源网 » SQL中的内连接(inner join)用法

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买