需要了解JOINS的用例 - 当您只对部分连接感兴趣时,为什么要加入?

时间:2013-04-25 00:17:04

标签: sql

好吧这不是一个编程问题,所以请随意投票(耶!这是第一次,我鼓励这种行为 - 充分利用它)。

但是,我觉得知道这一点很重要。我搜索了谷歌,没有看到一个页面,它给出了为什么需要特定连接的真实世界示例。

我读了这篇精彩的教程 - http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html 我的主要问题是,如果您加入两个表并仅提取其中的一部分(例如 - 链接中的第3,第4张图片),那么您为什么要加入第一个?

我需要一个真实的例子,它告诉我需要连接两个表,然后只提取它的一部分。

华友世纪!让投票开始吧!

3 个答案:

答案 0 :(得分:1)

您可以将两个表连接在一起,即使您只需要其中一个表中的列,也可以过滤第二个表中的列。

示例:教师表和学生表。如果他们班上至少有20个孩子,你只需要一份教师名单。您可以加入这两个表来查找教师有多少学生,但您只需从教师表中选择名称 - 非常简单的示例。

答案 1 :(得分:1)

通常,JOIN仅用于确定您感兴趣的一个表中的行。例如,"告诉我所有居住在温室中的人的姓名"。如果您有一张人员表和一张房屋表,您将加入他们以确定每个房子中的居住者,并使用选择温室的WHERE子句。但是您只会从人员表中返回姓名。

答案 2 :(得分:0)

连接(理想情况下)仅通过1个字段(外键)完成,目的是获取关联表中的数据行。您随后使用哪些字段会有所不同,有时全部,有时为1,但这些都是在连接发生之后。

否则,每个字段或字段集都需要自己的密钥...这将把它放在自己的表中。

给定行的数据集是与该实体关联的数据,因此即使有时只有1个字段,“用户”也将拥有1个记录的电子邮件,名称,地址等等。需要的。