0


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

一、什么是内连接(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:学生信息登记表

2c3b662901c4421187258035c30e24bd.png

表2:部分学生成绩表

8a454e3dc57c49038c5e791988d2a3c0.png

表3:出生地登记表

f210bc086b92452ba01d639e4856a561.png

1、要求查询出参加了考试的学生信息。

使用'学号'作为连接键,连接两个表

SELECT
    y.学号,
    y.姓名,
    y.总分,
    x.班级,
    x.入学日期,
    x.联系电话 
FROM
    学籍信息 AS x
    INNER JOIN 部分学生成绩 AS y 
    ON x.学号 = y.学号;

以上语句表示让表“学籍信息”的列“学号”和表“部分学生成绩”的列“学号”作为匹配的连接键。

可以看到使用inner join (内连接)将两个表连接后,对有考试成绩的学生信息进行了补全

7ec4cc742a5a4d08a689375864521a86.png

2、要求查询出考试成绩在90分以上的学生信息。

SELECT
    y.学号,
    y.姓名,
    y.总分,
    x.班级,
    x.入学日期,
    x.联系电话 
FROM
    学籍信息 AS x
    INNER JOIN 部分学生成绩 AS y 
    ON x.学号 = y.学号
    where 总分 >= 90;

以上查询通过设置where过滤条件,查询出了总分大于90分的学生信息。

1c4c0d7e25f44d9fbc9a2c61fb578101.png3、要求查询出考试成绩在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分的学生信息。

b31a9a09bc0a448088eeea820aceb5d1.png

标签: sql 数据库

本文转载自: https://blog.csdn.net/wjs19861110/article/details/134225174
版权归原作者 magician_01 所有, 如有侵权,请联系我们删除。

“SQL中的内连接(inner join)用法”的评论:

还没有评论