SQL の基礎 その1 [exam]
SQL のメモ。ORACLE MASTER Bronze SQL 基礎Ⅰ向け。
私が SQL を書くときは、USING 句や自然結合は使わないし(A.COLUMN1 = B.COLUMN1 とちゃんと書く)、NULL はあらかじめ除外して集計するし、HAVING 句や GROUP BY 句の順序を余り気にしてなかったので...問題を解いてみると案外間違えるわけです。
自然結合
- NATURAL JOIN 句を使用する。
- 同名の列を全て使用した等価結合であり、結合に使用される列の型は同じでなければならない。
using句
- 結合する列名が表間で同じ場合は USING 句を利用して結合する列名を定義できる。
- USING 句と NATURAL JOIN 句は同時に使用できない。
- USING 句に指定した列は表名による修飾が出来ない。
集計関数とNULL
- COUNT(*) -> NULL もカウントする。
- COUNT(*) 以外は NULL を無視する。
グループ関数と単一列の選択
- グループ関数(MAX とか COUNT とか)と単一列を SELECT するときは、単一列を全て GROUP BY 句に指定しなければならない。
- GROUP BY に列別名を指定できない。
HAVING句とGROUP BY句の順序
- HAVING 句と GROUP BY 句はどちらを先に記述しても良い。
私が SQL を書くときは、USING 句や自然結合は使わないし(A.COLUMN1 = B.COLUMN1 とちゃんと書く)、NULL はあらかじめ除外して集計するし、HAVING 句や GROUP BY 句の順序を余り気にしてなかったので...問題を解いてみると案外間違えるわけです。