ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) [電子書籍]
    • ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) [電子書籍]

    • ¥2,750550 ゴールドポイント(20%還元)
    • すぐ読めます
100000086603149060

ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) [電子書籍]

ミック(著者)
価格:¥2,750(税込)
ゴールドポイント:550 ゴールドポイント(20%還元)(¥550相当)
フォーマット:
専用電子書籍リーダーアプリ「Doly」が必要です。無料ダウンロード
出版社:インプレス
公開日: 2026年02月28日
すぐ読めます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) の 商品概要

  • ●傑作SQL問題集、爆誕! あなたのアタマを鍛え上げる一冊
     本書は、DB関連書籍で高い評価を得てきたミック氏が、実務で培った知見を凝縮した「新しいSQLパズル(練習問題)」です。単なるサンプルコードをなぞるのではなく、読者自身が手を動かし、考えながら解き進めることで、SQLの本質をつかむことを目指しています。

     収録されたパズルは基礎から応用へ段階的にレベルアップし、ウィンドウ関数、結合、CASE式、サブクエリ、再帰など、実務で必須となる標準SQLを幅広く網羅。解答だけでなく、「どう考えるか」「別解だとどう書けるか」といった思考プロセスを丁寧に解説し、複数の書き方を比較することで、より良いSQLを選択する“審美眼”を養えます。

     さらに、一部の問題では実行計画にも踏み込み、処理性能の観点から最適な書き方を理解できるよう工夫。初級者から中級者まで、「SQLを考える力」を無理なく、そして着実に鍛えられる一冊です。

    【本書のパズル・チラ見せ!】
    ■第1章 宣言的言語としてのSQL
    パズル1-1 データベースの絶対法則――主キー制約
    パズル1-2 上司は誰?――参照整合性制約  ほか
    ■第2章 SQLの論理
    パズル2-1 作業依頼――全称量化①
    パズル2-2 自然数列の生成――再帰と構成  ほか
    ■第3章 SQLの高度な応用
    パズル3-1 住所の変遷を追う――再帰とポインタチェイン
    パズル3-2 可能な日付の組み合わせ――列の組み合わせ  ほか
    ■第4章 SQLで数学パズルを解く
    パズル4-1 順列――自己非等値結合
    パズル4-2 完全数――HAVING句での条件  ほか
    ■第5章 ウィンドウ関数――SQLで魔法をかける
    パズル5-1 移動平均――ウィンドウ関数の基礎
    パズル5-2 90%ile 3秒――パーセンタイル  ほか
    ■第6章 SQLで木構造を扱う
    パズル6-1 隣接リストモデル
    パズル6-2 入れ子集合モデル  ほか
    ■第7章 卒業試験
    パズル7-1 すべての列についての条件指定――全称量化/存在量化
    パズル7-2 ピザ屋の売上――順位による選択  ほか

    全7章の“至高のパズル”であなたをお待ちしています!

  • 目次

    表紙
    ミックのSQL パズルへようこそ!
    本書を読む前に/動作確認環境/サンプルコードのダウンロード/本書情報および正誤表のWeb ページ
    第1章 宣言的言語としてのSQL
    パズル1-1 データベースの絶対法則――主キー制約
    問題❶ 主キーとランダムな値
    パズル1-2 上司は誰?――参照整合性制約
    問題❷ 外部キーの設定
    問題❸ 自分の上司を特定する
    パズル1-3 アルファベット――正規表現
    問題❹ アルファベットを少なくとも1文字含む
    問題❺ アルファベットを1文字も含まない
    問題❻ すべてアルファベットの文字列
    パズル1-4 タバコは20 歳になってから――条件法
    問題❼ 20歳未満の喫煙者を探す
    パズル1-5 都道府県の切り出し――文字列操作
    問題❽ 都道府県だけ切り出す
    第2章 SQL の論理
    パズル2-1 作業依頼――全称量化①
    問題❾ 工場の作業工程の管理
    パズル2-2 自然数列の生成――再帰と構成
    問題❿ 自然数列を生成
    問題⓫ レコードに連番を振る
    パズル2-3 テーブルのピボット――CASE 式
    問題⓬ テーブルのピボットを作る
    問題⓭ 続・テーブルのピボット
    パズル2-4 誕生日が一致しないのは誰だ?――3値論理とNULL の罠
    問題⓮ 誕生日の一致する人物を求める
    問題⓯ 誕生日の一致しない人物を求める
    パズル2-5 複数レコードへの条件設定――更新における分岐
    問題⓰ 入館証の確認と更新
    パズル2-6 n 番目の値――レコードの順序
    問題⓱ 前からn 番目のレコード
    問題⓲ 続・前からn番目のレコード[一般化版]
    パズル2-7 列方向の最大値/最小値――NULLの回避
    問題⓳ 列方向の最大値/最小値[PostgreSQL版]
    問題⓴ 列方向の最大値/最小値[他DBMS 対応版]
    問題21 列方向の最大値/最小値[引数3個の場合]
    第3章 SQL の高度な応用
    パズル3-1 住所の変遷を追う――再帰とポインタチェイン
    問題22 一番昔の住所を求める
    パズル3-2 可能な日付の組み合わせ――列の組み合わせ
    問題23 有意味な組み合わせの作成
    パズル3-3 重なる期間の結合――特性関数
    問題24 連続した勤務期間を求める
    パズル3-4 期間のコンフリクト検出――境界値トラップ
    問題25 予約期間の重複を判定
    パズル3-5 存在しない組み合わせ――差集合
    問題26 アイスクリームのラインナップ
    パズル3-6 集合の相等性――テーブルのコンペア
    問題27 テーブルに違いはあるか?
    問題28 どの行が違うか?
    問題29 どの行が同じか?
    パズル3-7 排他的論理和――完全外部結合
    問題30 2つのテーブルを統合
    問題31 一致しない行を抽出
    パズル3-8 都市間の経路を求める――再帰共通表式
    問題32 都市間の最短経路
    パズル3-9 相互フォローの検出――INTERSECT
    問題33 相互フォロー関係を見つける
    第4章 SQL で数学パズルを解く
    パズル4-1 順列――自己非等値結合
    問題34 2 つ選ぶ場合の順列
    問題35 3 つ選ぶ場合の順列
    問題36 組み合わせ
    パズル4-2 完全数――HAVING句での条件
    問題37 完全数を求める
    パズル4-3 ナップザック問題――ビットフラグによるフィルタリング
    問題38 部分集合の全組み合わせ――行持ちデータの場合
    問題39 部分集合の全組み合わせ――列持ちデータの場合
    パズル4-4 素数――全称量化②
    問題40 素数を求める
    パズル4-5 連番の歯抜けを探す――全単射
    問題41 テーブルの歯抜けチェック
    パズル4-6 連番のカタマリを探す――連続と断絶
    問題42 連続する中で最大のシーケンスを探す
    問題43 部分的なシーケンスも含めて求める
    第5章 ウィンドウ関数――SQL で魔法をかける
    パズル5-1 移動平均――ウィンドウ関数の基礎
    問題44 移動平均を求める
    問題45 トレンド分析
    パズル5-2 90%ile 3秒――パーセンタイル
    問題46 レスポンスタイム要件を満たすか
    パズル5-3 四分位――NTILE関数
    問題47 分布を4 つに分ける
    問題48 剰余類
    パズル5-4 中央値――ウィンドウ関数の威力
    問題49 体重の中央値
    パズル5-5 累計――空のウィンドウ関数が持つ意味
    問題50 売上の累計
    問題51 データと件数を一括で取得する
    パズル5-6 最頻値――HAVING句の力
    問題52 給与の最頻値
    パズル5-7 列方向の折りたたみ――IGNORE NULLS
    問題53 最初に現われる非NULL 値を探す
    第6章 SQL で木構造を扱う
    パズル6-1 隣接リストモデル
    問題54 隣接リストモデルの基本――階層の深さ
    問題55 上司の抽出(隣接リストモデル)
    問題56 リーフノードの抽出(隣接リストモデル)
    パズル6-2 入れ子集合モデル
    問題57 入れ子集合モデルの基本――階層の深さ
    問題58 上司の抽出(入れ子集合モデル)
    問題59 リーフノードの抽出(入れ子集合モデル)
    問題60 ルートノードの抽出(入れ子集合モデル)
    パズル6-3 経路列挙モデル
    問題61 経路列挙モデルの基本――階層の深さ
    問題62 上司の抽出(経路列挙モデル)
    問題63 リーフノードの抽出(経路列挙モデル)
    問題64 ルートノードの抽出(経路列挙モデル)
    パズル6-4 閉包テーブルモデル
    問題65 閉包テーブルモデルの基本――階層の深さ
    問題66 上司の抽出(閉包テーブルモデル)
    問題67 リーフノードの抽出(閉包テーブルモデル)
    問題68 ルートノードの抽出(閉包テーブルモデル)
    第7章 卒業試験
    パズル7-1 すべての列についての条件指定――全称量化/存在量化/問題69 すべての列が条件を満たす行の抽出
    問題70 少なくとも1 つの列を満たす条件
    問題71 「 ちょうどn個」を満たす条件
    問題72 行持ちテーブルでの件指定
    パズル7-2 ピザ屋の売上――順位による選択/問題73 売上の順位を算出する
    問題74 厳密な順位付け
    パズル7-3 ラベルの読み替え――CASE式の応用/問題75 新しい分類での集計――アドホックな集計キー
    問題76 数値範囲での階級化
    パズル7-4 範囲の重複――次元の拡張/問題77 線分の重複――1次元
    問題78 長方形の重複判定――2次元
    パズル7-5 最小と最大の枝番/問題79 枝番の最小値と最大値
    パズル7-6 重複行の削除――論理と集合/問題80 誤登録された重複データの削除
    パズル7-7 累計の逆算――ウィンドウ関数大活躍/問題81 単月売上の算出
    あとがき
    索引
    解答一覧
    著者紹介
    奥付

ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) の商品スペック

発行年月日 2026/02/20
書店分類コード K320
Cコード 3055
出版社名 インプレス
他のインプレスの電子書籍を探す
紙の本のISBN-13 9784295023784
ファイルサイズ 380.6MB
著者名 ミック
著述名 著者

    インプレス ミックの楽しいSQLパズル 解いて身につくSQLの考え方&書き方(インプレス) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!