从零开始学SQLSERER-INNER JOIN

导学

通过INNER JOIN来连接两张表算是进阶知识了,加油!

图片名称

INNER JOIN·作用

主要作用是连接两张表。通过连接两张表对应列中,相同的部分。如果两个列中,没有对应相同得值,则为空白,可以看一下例子。

这样说可能有点抽象,我们可以看看下面的例子。

现在有两张表,一张学生信息Students表和家庭信息Info表,如下。
Students表:

id name class
5 张三 五班
7 李四 四班
3 王五 一班
2 小张 三班

Info表:

id father monther
5 张三妈 张三爸
7 李四妈 李四爸
3 王五妈 王五爸
4 小明妈 小明爸

这时候通过INNER以id列为中介进行关联,可以得到以下结果

id name class father monther
5 张三 五班 张三妈 张三爸
7 李四 四班 李四妈 李四爸
3 王五 一班 王五妈 王五爸

可以看到,Students表和info表对应id列,相同id为5,7,3,所以最终结果保留了id为5,7,3行的信息。而Students表中id为2的行在info表中没找到相同id进行对应所以没有保留,而info表中id为3的行在Students表中没找到相同id进行对应所以没有保留。

以上就是INNER的示例讲解,下面我们看看代码。

INNER JOIN·代码

SELECT 列名 FROM 表1名
INNER JOIN 表2名 ON 表1名.列名 = 表2名.列名 --通过两个列中相同值的部分进行关联

INNER JOIN·示例

首先,建立示范数据

CREATE TABLE Students
(
id    BIGINT,
name  VARCHAR(20) ,
class VARCHAR(20) 
)

INSERT INTO Students VALUES('5','张三', '五班')
INSERT INTO Students VALUES('7','李四', '四班')
INSERT INTO Students VALUES('3','王五', '一班')
INSERT INTO Students VALUES('2','小张', '三班')
id name class
5 张三 五班
7 李四 四班
3 王五 一班
2 小张 三班
CREATE TABLE Info
(
id    BIGINT,
father  VARCHAR(20) ,
monther VARCHAR(20) 
)

INSERT INTO Students VALUES('5','张三妈', '张三爸')
INSERT INTO Students VALUES('7','李四妈', '李四爸')
INSERT INTO Students VALUES('3','王五妈', '王五爸')
INSERT INTO Students VALUES('4','小明妈', '小明爸')
id father monther
5 张三妈 五班爸
7 李四妈 四班爸
3 王五妈 一班爸
4 小明妈 小明爸

需求:关联两张表具有相同id的信息。

SELECT * FROM Students
INNER JOIN Info ON Students.id = Info.id

结果:

id name class father monther
5 张三 五班 张三妈 张三爸
7 李四 四班 李四妈 李四爸
3 王五 一班 王五妈 王五爸

以上就是INNER JOIN的内容,这个内容很常用,必须掌握,还有其它对应的两张表连接方式,也要好好掌握,只有掌握了这些,才算是掌握基本的SQLSERVER技术。加油,冲冲冲!

图片名称
原文地址:https://www.cnblogs.com/LY-CS/p/14453013.html