内部联接可以具有空列



我试图理解外部连接,但我有一个问题。

假设所有列都不为 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子句中使用逗号。
  • 表别名应该是列名的缩写,而不是无意义的字母。

相关内容

  • 没有找到相关文章

最新更新