使用ORACLE在2个以上的表上加入SQL

使用ORACLE在2个以上的表上加入SQL,sql,join,Sql,Join,假设我有三张桌子,A、B和C 我确实对表A和表B进行了联接,现在我想对结果AB和表c进行联接。 我需要创建视图然后进行联接还是需要通过嵌套查询进行联接?您没有说明使用的是哪个数据库,因此语法可能错误,但多表联接实际上与联接两个表没有任何不同: SELECT ... FROM a JOIN b ON ... JOIN c ON ... JOIN d ON ... 不,你将按如下方式做 SELECT * FROM A [INNER/LEFT/RIGHT/OUTER] JOIN

假设我有三张桌子,A、B和C 我确实对表A和表B进行了联接,现在我想对结果AB和表c进行联接。

我需要创建视图然后进行联接还是需要通过嵌套查询进行联接?

您没有说明使用的是哪个数据库,因此语法可能错误,但多表联接实际上与联接两个表没有任何不同:

SELECT ...
FROM a
JOIN b ON ...
JOIN c ON ...
JOIN d ON ...

不,你将按如下方式做

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
具体连接(内部/左侧/右侧/外部)将取决于您的要求

请查看以获取概述


在s上进行
联接的条件也将取决于表之间的关系。

您可以使用以下方法:

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)
或者您可以使用类似以下内容:

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的主键和外键是什么。
您也可以使用外部连接而不是内部连接,这取决于我们的数据。

对于内部连接,也没有任何价值((a JOIN b)JOIN c)=(a JOIN b JOIN c)c连接还可以在on子句中包含表b。。。a、 IDCols=c.IDCols和b.IDCols=c.IDCols.Yes,这就是tru,这就是为什么我指定连接条件的原因。连接条件也将取决于表之间的相互关系。如何连接表c上的视图AB并使用嵌套查询?