如果內部聯接連接需要有一個行存在,什麼是它,而不必做NOT EXISTS
子查詢相反?相對內與EXIST要求
我取代
與
OUTER JOIN topic_read_assoc ON (
topic_read_assoc.topic_id = topic.id AND
member_id = member_id = ".$this->tru->application->currentMember->getId()."
)
,它不是生產相同的結果作爲第一個查詢(工作)
如果內部聯接連接需要有一個行存在,什麼是它,而不必做NOT EXISTS
子查詢相反?相對內與EXIST要求
我取代
與
OUTER JOIN topic_read_assoc ON (
topic_read_assoc.topic_id = topic.id AND
member_id = member_id = ".$this->tru->application->currentMember->getId()."
)
,它不是生產相同的結果作爲第一個查詢(工作)
OUTER JOIN with a WHERE field IS NULL
實施例:
SELECT A.name FROM A INNER JOIN B on A.id = B.id
選擇一個其ID字段存在B中
瑜這些名字:
SELECT A.name FROM A OUTER JOIN B on A.id = B.id WHERE B.id IS NULL
選擇一個其ID字段不存在B中的名字
而確切的答案是左外連接 – 2010-11-14 06:23:23
是啊,我是依靠外部聯接是左外連接。但是隻有那些不存在的東西,你仍然需要空檢查。您也可以通過Right Outer Join獲得相同的結果,但空檢查必須更改。 – Aishwar 2010-11-14 06:27:18
我覺得選擇在外部聯接是緩慢的,因爲DBMS離開參加第一,然後右鍵加入和刪除重複rows.So我建議你選擇左邊加入,那麼正確的加入,使intersect.It最好不要運行任何加入,因爲視圖可是沒有索引。
你不知道的DBMS做什麼。它不必這樣做。 – EJP 2010-11-14 07:16:39
左外連接? – mxmissile 2010-11-14 06:16:48