LEFT OUTER JOIN
即使没有匹配项,您也可以使用 a来包含行:
SELECT documents.*, t_rights.rights, documents_list.docs
FROM documents
INNER JOIN t_rights on t_rights.num = documents.type_right
LEFT OUTER JOIN documents_list on
documents_list.num = documents.document1
WHERE code_document=1
现在您将从文档中获取行,即使它们与documents_list
. 但是,也许您只想包含 字段为空的不匹配文档。document1
在这种情况下,您需要更多:
SELECT documents.*, t_rights.rights, documents_list.docs
FROM documents
INNER JOIN t_rights on t_rights.num = documents.type_right
LEFT OUTER JOIN documents_list on
documents_list.num = documents.document1
WHERE code_document = 1 and (
documents_list.num is not null or
documents.document1 is null
)
这只返回与 匹配的文档document_list
,除了那些document1
为 null 的情况(我假设“空”是指 null;如果不是,请将您自己的条件放在那里)。