SQL 内连接和自然连接

问题描述 投票:0回答:1

我正在准备一份旧试卷以准备考试。

内连接和自然连接:

image

Select * From r INNER JOIN s ON r.F=s.F

为什么在进行 Inner Join 时,E 行中的 12 被删除,而不是 20?

Select E, G From r NATURAL JOIN s;

是否从 E 行中删除了 12 而不是 20?

mysql join
1个回答
0
投票
Select * From r INNER JOIN s ON r.F=s.F

结果将会是

E  F  F  G
10 5  5 30
20 15 15 20

INNER JOIN 关键字选择在两个表中具有匹配值的记录。这就是为什么 12 被删除,即没有公共列。 现在结果

Select E, G From r NATURAL JOIN s

E  G
10 30
20 20

当您在选择上使用 * 时,您会得到

F  E   G
5  10 30
15 20 20

在自然连接上使用 * 时,它将扩展到以下列列表

  • 所有常用栏目
  • 第一个(左)表中不是公共列的每一列
  • 第二个(右)表中不是公共列的每一列
© www.soinside.com 2019 - 2024. All rights reserved.