Sql 用三个表可视化内部联接

Sql 用三个表可视化内部联接,sql,join,Sql,Join,有人能解释一下这两种连接之间的区别以及如何可视化它们吗?不知道什么时候用哪个 例1 例2 使用这个不相关的维恩图-这两个查询返回什么 它只是意味着您在SELECT语句中加入了三个表 作者与标题作者 标题作者与标题 要了解有关联接的更多信息,请参阅下面的文章 如果你指的是内部连接和连接之间的区别,那么没有区别。我看不出你的两个例子有什么显著区别。鸭子之间的区别是什么?它的一条腿是一样的!第二个查询将结果限制为带有t.type='trad\u cook'的行,而第一个查询根本没有where子

有人能解释一下这两种连接之间的区别以及如何可视化它们吗?不知道什么时候用哪个

例1

例2

使用这个不相关的维恩图-这两个查询返回什么


它只是意味着您在
SELECT
语句中加入了三个表

  • 作者
    标题作者
  • 标题作者
    标题
要了解有关联接的更多信息,请参阅下面的文章


如果你指的是
内部连接
连接
之间的区别,那么没有区别。我看不出你的两个例子有什么显著区别。鸭子之间的区别是什么?它的一条腿是一样的!第二个查询将结果限制为带有
t.type='trad\u cook'
的行,而第一个查询根本没有
where
子句。除此之外,没有真正的区别。好的,谢谢。使用上面的维恩图,我返回的是图的哪一部分?我得到的是2个表,而不是3个表。。。3案例中的连接是什么样子的?@nivyaj-您发布的两个示例都是连接3个表。@nivyaj那么这些是什么:
作者
标题作者
,和
标题
?很抱歉,我看到的是2个表,而不是3个表。你能看一看我添加的维恩图,并在该上下文中解释连接吗?@nivyaj-因此,在你的维恩图中,它是所有三个表的交集,这将是一个乏味的例子,尽管使用维恩图可视化连接是一个有缺陷的概念。
select a.f1, a.f2, b.f1, b.f2
from table_a a
inner join table_c c
    on a.id = c.id
inner join table_b b
    on c.id = b.id
SELECT a.au_lname,
       a.au_fname,
       t.title
FROM   authors a
       INNER JOIN titleauthor ta
         ON a.au_id = ta.au_id
       JOIN titles t
         ON ta.title_id = t.title_id
WHERE  t.type = 'trad_cook'
ORDER  BY t.title ASC