如果内部联接连接需要有一个行存在,什么是它,而不必做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