help
help

Reputation: 851

how to return all rows even when they have no value in Oracle SQL

I have 2 tables: categories and subjects.

Categories table:

Name
cat1
cat2
cat3

Subjects table:

Name    category 
sub1    cat1
sub2    cat1
sub3    cat2

What query can I run to get back a result set that contains all the categories and subjects like this:

Category  Subject 
cat1      sub1
cat1      sub2
cat2      sub3
cat3      ''

Upvotes: 0

Views: 154

Answers (2)

Yogesh Sharma
Yogesh Sharma

Reputation: 50173

You want outer join:

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

Upvotes: 3

wolφi
wolφi

Reputation: 8361

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

Upvotes: 0

Related Questions