【问题标题】:Using Outer joins in SQL在 SQL 中使用外连接
【发布时间】:2021-01-13 03:38:21
【问题描述】:

通过分析以下图表,我必须进行查询以列出所有产品(product)及其相关类别(product_category ) 如果他们有一个。否则,显示类别的值 (null)

仅按此顺序显示 PRODUCT_NAMECATEGORY_NAME 列。

样本输出:

PRODUCT_NAME CATEGORY_NAME
ProForm 6.0 RT Fitness
Wilwood 260-11179 Automotive
HC-SR04 null

这是我的查询:

SELECT PRODUCT.name as PRODUCT_NAME, PRODUCT_CATEGORY.name as CATEGORY_NAME
FROM PRODUCT 
   JOIN PRODUCT_CATEGORY ON PRODUCT.product_category_id = PRODUCT_CATEGORY.product_category_id

但我不确定我的查询,确实我认为我应该使用外连接。

【问题讨论】:

  • 右加入而不是加入
  • 请同时标记您的 DBMS。

标签: sql outer-join


【解决方案1】:

你几乎明白了。您将需要使用左外连接来获得您正在寻找的结果:

SELECT PRODUCT.name as PRODUCT_NAME, PRODUCT_CATEGORY.name as CATEGORY_NAME
FROM PRODUCT LEFT JOIN PRODUCT_CATEGORY 
ON PRODUCT.product_category_id = PRODUCT_CATEGORY.product_category_id

左外连接将返回左侧表 (PRODUCT) 中的所有记录。如果右侧表 (PRODUCT_CATEGORY) 中没有连接记录,则将为右侧表中的所有记录返回 NULL。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-01-10
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 2021-09-02
  • 1970-01-01
相关资源
最近更新 更多