回答編集履歴
3
追記
    
        answer	
    CHANGED
    
    | @@ -8,8 +8,18 @@ | |
| 8 8 |  | 
| 9 9 | 
             
            追記
         | 
| 10 10 | 
             
            --
         | 
| 11 | 
            +
            > |出来ればcode3とcode4のpriceは、nullではなく「0」を表示させたいです。
         | 
| 12 | 
            +
            > 
         | 
| 13 | 
            +
            > ここに注目しないでください。
         | 
| 14 | 
            +
            > この文は外部結合が思うようにいった時に「ついでに」という話なので
         | 
| 15 | 
            +
            > 外部結合等を使ってcodeをすべて表示させつつ、表AとBを結合させる方法を
         | 
| 16 | 
            +
            > 先に教えてほしいです。
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            質問に記載されている内容では間違えようがありません。
         | 
| 11 19 | 
             
            ```SQL
         | 
| 12 20 | 
             
            select A.code_a as code, A.name, Coalesce(B.price, 0) as price
         | 
| 13 21 | 
             
            from   A left join B 
         | 
| 14 22 | 
             
                   on A.code_a = B.code_b
         | 
| 15 | 
            -
            ```
         | 
| 23 | 
            +
            ```
         | 
| 24 | 
            +
            他の方のコメントでwhere条件の記述がありましたが、抽出する為の条件としては結合条件だけではなくwhere条件も必要です。
         | 
| 25 | 
            +
            ひょっとして、結合しているテーブルも質問では省略したりしていませんか?
         | 
2
追記
    
        answer	
    CHANGED
    
    | @@ -4,4 +4,12 @@ | |
| 4 4 | 
             
            上記はNullかどうかの判断に特化した関数ですけど、CASEでも同じことは出来ます。
         | 
| 5 5 | 
             
            条件が複雑になるような場合は、CASEを使用すると良いでしょう。
         | 
| 6 6 | 
             
            [CASE 式](https://www.shift-the-oracle.com/sql/case-when-expression.html)
         | 
| 7 | 
            -
            ※oracle独自の[Decode](https://www.shift-the-oracle.com/sql/functions/decode.html)もありますけどCASE式をお薦めします。
         | 
| 7 | 
            +
            ※oracle独自の[Decode](https://www.shift-the-oracle.com/sql/functions/decode.html)もありますけどCASE式をお薦めします。
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            追記
         | 
| 10 | 
            +
            --
         | 
| 11 | 
            +
            ```SQL
         | 
| 12 | 
            +
            select A.code_a as code, A.name, Coalesce(B.price, 0) as price
         | 
| 13 | 
            +
            from   A left join B 
         | 
| 14 | 
            +
                   on A.code_a = B.code_b
         | 
| 15 | 
            +
            ```
         | 
1
追記
    
        answer	
    CHANGED
    
    | @@ -1,2 +1,7 @@ | |
| 1 1 | 
             
            標準SQLである**COALESCE**の方をお薦めします。(**NVL**は独自関数であるし2択なので)
         | 
| 2 | 
            -
            [NVL、COALESCE](https://www.shift-the-oracle.com/sql/functions/nvl-coalesce.html)
         | 
| 2 | 
            +
            [NVL、COALESCE](https://www.shift-the-oracle.com/sql/functions/nvl-coalesce.html)
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            上記はNullかどうかの判断に特化した関数ですけど、CASEでも同じことは出来ます。
         | 
| 5 | 
            +
            条件が複雑になるような場合は、CASEを使用すると良いでしょう。
         | 
| 6 | 
            +
            [CASE 式](https://www.shift-the-oracle.com/sql/case-when-expression.html)
         | 
| 7 | 
            +
            ※oracle独自の[Decode](https://www.shift-the-oracle.com/sql/functions/decode.html)もありますけどCASE式をお薦めします。
         | 
