gpt4 book ai didi

sql - 是否可以在选择查询中使用同一个表两次?

转载 作者:行者123 更新时间:2023-12-02 17:16:59 25 4
gpt4 key购买 nike

您好,我有以下查询,我想知道它的含义:

SELECT c1.id as sender, c2.id as replier
FROM contacts c1, contacts c2;

同一张 table 如何使用两次?

最佳答案

通过给一个表指定两个名称,您可以在查询中使用同一个表两次,就像这样。

别名通常用关键字 AS 引入。您通常还指定一个连接条件(如果没有它,您将获得与其自身连接的表的Cartesian Product)。您可以优先使用显式 JOIN 表示法。

SELECT c1.id AS sender, c2.id AS replier
FROM contacts AS c1
JOIN contacts AS c2 ON c1.xxx = c2.yyy;

尚不清楚本示例中哪些列可用于连接;我们没有任何信息可以帮助解决该问题。

通常,会有另一个表充当中介,例如 Messages 表:

SELECT c1.id AS sender,  c1.email AS sender_email,
c2.id AS replier, c2.email AS replier_email,
m.date_time
FROM messages AS m
JOIN contacts AS c1 ON m.sender_id = c1.id
JOIN contacts AS c2 ON m.replier_id = c2.id;

关于sql - 是否可以在选择查询中使用同一个表两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com