子查询的自联接 [英] Self-join of a subquery

查看:68
本文介绍了子查询的自联接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道,是否可以使用PostgreSQL将查询结果与自身连接?

I was wondering, is it possible to join the result of a query with itself, using PostgreSQL?

推荐答案

使用WITH:

WITH subquery AS(
    SELECT * FROM TheTable
) 
SELECT *
FROM subquery q1
JOIN subquery q2 on ...

通过创建包含查询的VIEW并加入该查询:

Or by creating a VIEW that contains the query, and joining on that:

SELECT *
FROM TheView v1
JOIN TheView v2 on ...

或者蛮力方法:两次输入子查询:

Or the brute force approach: type the subquery twice:

SELECT *
FROM (
    SELECT * FROM TheTable
) sub1
LEFT JOIN (
    SELECT * FROM TheTable
) sub2 ON ...

这篇关于子查询的自联接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆