2007-03-04

PostgreSQL 表的結合(JOIN)種類與語法

更新:2007-03-04
對映章節:II,C7

內容:
PostgreSQL 支持表的結合(Joined)種類有五種:
  1. 交差結合(CROSS JOIN)
  2. 內部結合(INNER JOIN) <---- 預設值
  3. 左外部結合(LEFT OUTER JOIN)
  4. 右外部結合(RIGHT OUTER JOIN)
  5. 完全外部結合(FULL OUTER JOIN)
CROSS JOIN
FROM t1 CROSS JOIN t1
用 pgAdmin III 1.6.2 正體中文查詢工具做的範例:


INNER JOIN ...... ON
t1 INNER JOIN t2 ON ....



LEFT OUTER JOIN

RIGHT OUTER JOIN

FULL OUTER JOIN

1 則留言:

  1. postgresql 的前輩您好,
    以下有個問題困擾我許久,
    請大家幫我解答一下!

    我在資料庫下了一個語法
    ---------------------
    select *
    from t1 INNER JOIN t2
    on t1.uid = t2.uid
    ---------------------

    但是出現了以下錯誤訊息:
    ---------------------
    查詢結果 0 筆資料列將被遞回。

    ERROR: invalid memory alloc request size 2147483648

    ********** 錯誤 **********

    ERROR: invalid memory alloc request size 2147483648
    SQL 狀態: XX000
    ---------------------

    此外我發現在 table [t1],[t2]裡資料筆數少的時候,"不會"發生此種現象,
    因此懷疑是資料庫設定上有問題,也許是'記憶體'方面沒有設定好,但我不知如何下手修改,請各位前輩指點一下,感謝!

    回覆刪除