2

假设我有三个表,A、B 和 C。
我在表 A 和表 B 上进行了联接,现在我想对结果 AB 和表 c 进行联接。
我需要创建视图然后加入还是需要通过嵌套查询来完成?

4

3 回答 3

7

你没有说你正在使用哪个数据库,所以语法可能是错误的,但是多表连接实际上与连接两个表并没有什么不同:

SELECT ...
FROM a
JOIN b ON ...
JOIN c ON ...
JOIN d ON ...
于 2012-10-31T04:45:32.010 回答
4

不,你会这样做

SELECT  *
FROM    A [INNER/LEFT/RIGHT/OUTER] JOIN
        B   ON  [a/b].IDCols = [a/b].IDCols [INNER/LEFT/RIGHT/OUTER] JOIN
        C   ON  [a/b/c].IDCols = [a/b/c].IDCols

具体连接(INNER/LEFT/RIGT/OUTER)将取决于您的要求。

查看JOIN 简介 – JOIN 基础以获得概述

s的标准JOIN ON也将取决于表之间的关系。

于 2012-10-31T04:45:47.113 回答
0

你可以使用这样的东西:

select *
from A, B, C
where A.id = B.id
and A.id = C.id

或者你可以使用这样的东西:

select *
from A INNER JOIN B ON (A.id = B.id)
       INNER JOIN C ON (A.id = C.id)

你如何加入当然取决于表之间的关系,那么 A、B、C 的主键和外键是什么。根据我们的数据,您也可以使用 OUTER JOIN 而不是 INNER JOIN。

于 2016-02-14T09:23:54.803 回答