SQL
- SQL SQLウィンドウ関数とCTE:実務の集計クエリで使う ROW_NUMBER・RANK・LAG・累計、グループごとの上位N件、再帰CTE、JSON関数を SQLite で実行。フレームと NULL の罠、相関サブクエリとの速度比較も 10 万行で実測。
- SQL SQLトランザクションとWAL:database is lockedの3つの原因 BEGIN/COMMIT/ROLLBACK の実際のエラー、1万件 INSERT の自動コミットと1トランザクションの実測、ロールバックジャーナルと WAL、database is locked の原因と対策。
- SQL SQL の JOIN・GROUP BY・サブクエリ:集計がずれる罠と実測 SQL講座3。SQLite 3.51 で INNER/LEFT JOIN、合計を3倍にする行の爆発、HAVING と WHERE、COUNT(*) と COUNT(列)、サブクエリ対 JOIN の速度を実測。
- SQL SQL の INSERT・UPDATE・DELETE と制約を実際に壊して学ぶ SQL講座2。SQLite 3.51 で INSERT/UPDATE/DELETE、NOT NULL・UNIQUE・CHECK・FOREIGN KEY の実際のエラー、WHERE なし UPDATE を ROLLBACK で戻す。
- SQL SQLインデックスとEXPLAIN QUERY PLAN:100万行で実測 EXPLAIN QUERY PLAN の読み方、100万行でのインデックス有無の実測、複合インデックスの列順、SQLite がインデックスを使わない4つのパターン、インデックスで逆に遅くなる場合を実行結果で解説。
- SQL SQL入門:SELECT・WHERE・ORDER BY と NULL の落とし穴 SQL講座1(初級)。SQLite 3.51 で5分で最初のテーブルを作り、WHERE・ORDER BY・LIMIT、= NULL が0件になる理由、型アフィニティの罠、100万行での実測まで実行結果で解説。