OracleでSQLを使って表AとBを外部結合させたいです。
例えば下のような表AとBをその下のような実行結果にしたいです。
|表A
code_a | name |
---|---|
1 | A |
2 | B |
3 | C |
4 | D |
|表B
code_b | price |
---|---|
1 | 100 |
2 | 200 |
|実行結果
code | name | price |
---|---|---|
1 | A | 100 |
2 | B | 200 |
3 | C | (null) |
4 | D | (null) |
(出来ればcode3とcode4のpriceは、nullではなく「0」を表示させたいです。)
select code_a as code, name, price from A left outer join B on A.code_a=B.code_b
で実行してみましたが、
code1とcode2の2行しか結果しかでませんでした。
表Aのcodeとnameをすべて表示させるにはどのようにしたらいいでしょうか?
どうか知恵をお貸しください。
(実際はもっと列があり、where句で対象年と対象項目を指定したりしていますが
関係ないと思うので省いています)
OracleはSL Object Browser for Oracle Ver.12(32bit)です。
Oracle Databaseは 12.1.0.1.0 でした。
Windows 10 Proです。
追記
|出来ればcode3とcode4のpriceは、nullではなく「0」を表示させたいです。
ここに注目しないでください。
この文は外部結合が思うようにいった時に「ついでに」という話なので
外部結合等を使ってcodeをすべて表示させつつ、表AとBを結合させる方法を
先に教えてほしいです。