如何在Oracle SQL中没有值的情况下返回所有行

时间:2018-05-29 15:38:02

标签: sql oracle

我有2个表:类别和主题。

分类表:

Name
cat1
cat2
cat3

主题表:

Name    category 
sub1    cat1
sub2    cat1
sub3    cat2

我可以运行什么查询来获取包含所有类别和主题的结果集:

Category  Subject 
cat1      sub1
cat1      sub2
cat2      sub3
cat3      ''

2 个答案:

答案 0 :(得分:3)

您想要outer join

select c.Name "Category", s.category "Subject"
from Categories c left outer join 
     Subjects s
     on s.category = c.name;

答案 1 :(得分:0)

SELECT category, subject
  FROM categories LEFT JOIN subjects USING (category);