nullジマ
nullジマでSQLを学び、そのまま実行できます。SELECT、JOIN、GROUP BYからサブクエリまで、文法の例、段階別の練習問題、SQLD・SQLP・OCPの非公式模擬問題を用意しています。
学習ガイド
- SELECT
必要なカラムを取得する. SELECTはテーブルからデータを取得する最も基本的な命令です。
- WHERE
条件でデータを絞り込む. WHERE句は条件に合う行だけを取得するときに使います。
- ORDER BY
好きな基準で並べ替える. ORDER BYは取得結果を特定のカラム基準で並べ替えます。
- GROUP BY
グループごとに集計する. GROUP BYは同じ値を持つ行をグループ化し、集計関数と一緒に使います。
- JOIN
複数テーブルをつなぐ. JOINは共通カラムを基準に複数テーブルのデータを結合します。
- 集計関数
COUNT / SUM / AVG. 集計関数は複数行のデータを1つの値に要約します。
- サブクエリ
SELECTの中のSELECT. サブクエリはクエリの中に入る別のクエリです。集計結果を条件に使うときに便利です。
- HAVING
グループに条件を付ける. HAVINGはGROUP BYで作られたグループに条件を適用します。WHEREが行を絞るなら、HAVINGはグループを絞ります。
- CASE WHEN / NULL処理
条件付き変換とNULLの扱い. CASE WHENは条件によって返す値を変えるSQLのif-elseです。NULLは「不明な値」なので専用の扱いが必要です。
- ウィンドウ関数
グループ集計 + 行を維持. ウィンドウ関数は集計しながらも各行を残して結果を表示します。SQLD/SQLPでも重要な概念です。
- 集合演算
UNION / INTERSECT / EXCEPT. 集合演算は2つのSELECT結果を結合したり、共通部分や差分を求めたりします。
問題を解く
- 全社員を表示 · 入門 · SELECT
- 社員名と給与を表示 · 入門 · SELECT
- 全部署を表示 · 入門 · SELECT
- 全商品を表示 · 入門 · SELECT
- 高給与の社員を表示 · 初級 · WHERE
- 開発チームの社員を表示 · 初級 · WHERE
- 2021年以降入社の社員 · 初級 · WHERE
- 給与が高い順に並べる · 初級 · ORDER BY
- 給与上位3名 · 初級 · LIMIT
- カテゴリ一覧を表示 · 初級 · DISTINCT
- 部署別の社員数 · 中級 · GROUP BY, 集計関数
- 部署別の平均給与 · 中級 · GROUP BY, 集計関数
- 社員名と部署名を一緒に表示 · 中級 · JOIN
- 注文金額の合計 · 中級 · JOIN
- 社員が2名以上の部署 · 中級 · HAVING, 集計関数
- 平均給与以上の社員 · 上級 · サブクエリ
- カテゴリ別の最高価格商品 · 上級 · GROUP BY, 集計関数, ORDER BY
- 社員別の総注文金額 · 上級 · JOIN, GROUP BY, 集計関数
- 給与範囲で検索 · 初級 · WHERE, BETWEEN
- 名前が'김'で始まる社員 · 初級 · WHERE, LIKE
- 特定部署の社員を表示 · 初級 · WHERE, IN
- 2番目に高い商品 · 初級 · ORDER BY, LIMIT
- 2022年以降入社の高給与社員 · 初級 · WHERE, AND
- 全部署の社員数(社員なし部署を含む) · 中級 · LEFT JOIN, 集計関数
- 給与等級の分類 · 中級 · CASE WHEN
- 部署名別の平均給与と最高給与 · 中級 · JOIN, GROUP BY, 集計関数
- 総注文金額が高い社員(上位3名) · 中級 · GROUP BY, JOIN, LIMIT
- 部署内の給与順位 · 上級 · ウィンドウ関数, RANK
- 注文がない社員を表示 · 上級 · サブクエリ, IN
- 月別の累積注文金額 · 上級 · ウィンドウ関数, SUM OVER
- 部署平均より給与が高い社員 · 上級 · サブクエリ, 相関サブクエリ
- 部署別の給与等級人数集計 · 上級 · CASE WHEN, 集計関数, GROUP BY