回答

收藏

子查询的自联接

技术问答 技术问答 297 人阅读 | 0 人回复 | 2023-09-14

我想知道,是否可以使用PostgreSQL将查询结果与自身连接?
1 ?3 j# n4 c. B3 g4 r! q               
3 x5 R" R* ]1 U  P5 q( P. Q+ S解决方案:
4 ^$ c/ W* e. U8 p                $ F& _" m+ I2 }. m0 F
% s3 x* q1 V$ h, f# u
0 K! e! Y, [- z0 C" @1 {
                您可以使用WITH来做到这一点:1 m: W( m/ l- J- N5 E5 O4 y
WITH subquery AS(
8 Q) j$ k# }- P    SELECT * FROM TheTable1 e! h9 f% a$ D3 F; Z9 s
)
. y9 P3 l- ?! t# H: USELECT *
1 i( O7 j1 a4 h8 nFROM subquery q1
3 p$ q3 m7 p3 L# r9 ?1 Z1 WJOIN subquery q2 on ...6 S: L4 B0 C; g. _
或者通过创建一个包含查询的VIEW并加入该查询:; f3 D  L7 ?& W
SELECT *; h) C( [2 }6 M8 W2 t8 Z. m
FROM TheView v1
; R6 ?* H7 n: x3 l3 qJOIN TheView v2 on ...
& O& Z; x7 n% {$ w  V3 {还是蛮力的方法:两次键入子查询:) h$ ^" Z& T9 V
SELECT *
# H5 t; k4 }0 i' E: s7 XFROM (- D/ ]1 }# @% N0 _3 j
    SELECT * FROM TheTable
/ D7 [5 R3 c8 @- Y% I, C7 A) sub1
, j: S9 S5 ^0 ~; h9 `LEFT JOIN (3 I' b+ `& |) @! }
    SELECT * FROM TheTable5 J. G3 F9 |5 m, [! p7 R/ _* x
) sub2 ON ...
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则