我试图理解外部连接,但我有一个问题。
假设所有列都不为 null,则在此查询之后:
SELECT a.service_type_id, b.customer_member_id, a.service_name
FROM CUSTOMER_SERVICE_TYPE a,
MEMBER_CUSTOMER_SERVICES b
WHERE a.service_type_id = b.service_type_id;
是否可以在其中一列中获取空字段?
首先,问题的标题显示"外联接",但查询是内联接。
其次,查询格式不正确,使用古老的语法。 它真的应该是:
SELECT cs.service_type_id, mcs.customer_member_id, cs.service_name
FROM CUSTOMER_SERVICE_TYPE cs JOIN
MEMBER_CUSTOMER_SERVICES mcs
ON cs.service_type_id = mcs.service_type_id;
第三,你的问题的答案是否定的。 如果查询中未NULL
任何源列,则无法NULL
任何列。 如果它真的是一个OUTER JOIN
,那么列可以NULL
。
笔记:
- 始终使用正确、明确的
JOIN
语法。切勿在FROM
子句中使用逗号。 - 表别名应该是列名的缩写,而不是无意义的字母。