SELECT 句
カラム指定
プログラムのSQLの場合にはカラムは明示的に指定する
エイリアス
カラム
# どのテーブルのどのカラムか分かるようにする
テーブルのエイリアス.カラム名 テーブル名_カラム名
※APIから返す場合は内部的な詳細を隠すため、カラム名だけでよい
※ASは省略できないDBもあるが、||連結等以外は省略する
# 結合後に重複するカラムはFROM句,INNER JOINするのが速い順で指定する
主キーが他のテーブルから多く参照されていて、結合した場合はFROM句のテーブル名のエイリアスを使う
テーブル
# 基本はテーブル名の頭文字
テーブル名 テーブル名のエイリアス
# すでに他のテーブルのエイリアスで頭文字が使われていた場合
何のデータかが分かるようなエイリアス名にする
DISTINCT
COUNT
COUNT(*)
COUNT(*) OVER(PARTITION BY カラム名) カラム名_count
COUNT(カラム名A)
※NULLや0が含まれるときの挙動を確認しておく
※NULLを含める場合はCOUNT(*)
※NULLを含めない場合はCOUNT(カラム名A)
CONCAT
CONCAT(FIRST_NAME, ' ', LAST_NAME) FULL_NAME
※Oracle, Postgre: FIRST_NAME || ' ' || LAST_NAME AS FULL_NAME
SELECT内のサブクエリでの一時テーブル
SELECTの評価がWHEREより先なので、一時テーブルのカラム名はWHEREで使える
最大X行
LIMIT X;
※OracleはWHERE ROWNUM <= X;
COALESCE
COALESCE(カラム名, 0)
※COALESCEを使うよりはテーブル作成時のデフォルト値を設定する