主キーとNULL制約
作成品質の確認
全チェックの通過状況
スライド 4 / 4枚、チェック 5 / 5項目が通過
スライドごと
完成後の5チェック
本文・学習内容
本文・演習・starter/solution・次クイズ・前後lesson・後続NULL lessonを再監査。4枚を主キー契約、キー選択、NULL許容設計、IS NULL演習の各1仕事へ分け、JOIN/FK、複合キー実装、COALESCE、COUNT/集計、正規化、indexを先取りしていない。
ソース・課題との接続
exact lessonKeyから4枚のauthored deckと各named panelへ実経路で到達。live loaderのstarterは5行で公開expectedResultに不一致、模範SQLはid 2・4の4列2行に一致。hiddenSchema/hiddenExpectedResultは双方NULLで片側脱落はないが、直書き耐性の追加はproduction教材データ側の非blocking hardening backlog。
見た目・操作
SQL専用10/10とgeneric mobile 1/1を通過。4枚desktop、実lesson開閉/再表示、print全枚、library、320/360/393pxの全枚開始/縦末尾、page 4の結果表横右端を別担当が原寸目視。修正後は文字切れ・衝突・不可逆crop・操作不能がなくP0/P1/P2なし。
再利用・パターンマスター
lookup-table、compare-two、editor-resultへ各枚ちょうど1件分類。本番と単体部品は同じLookupTablePanel、Pane、CodePanel、ResultTablePanelを直接使用し、fallback・孤立部品・新規renderer/type/asset/一品物はない。
型・テスト・回帰
前後lessonと後続NULL境界、exact deck内容、共有ResultTablePanel DOM契約、全画面QAを再確認。共有表の代表として5列、長いASCII、15行、result-focusを320px右端まで実測・原寸確認し、不要scrollや最終列欠落なし。repo-wide tscは既存大量errorで不合格だが対象5ファイルのerrorは0件。
未登録ユーザーだけを取り出す
phone = NULL は TRUE ではなく UNKNOWN になり、WHERE には残りません。NULL を探すときは IS NULL を使います。
phone IS NULL未登録だけを残すORDER BY id ASCid の昇順実行結果
| id | name | phone | |
|---|---|---|---|
| 2 | 鈴木 | suzuki@example.com | NULL |
| 4 | 高橋 | takahashi@example.com | NULL |
2件:id=2、id=4。phone はどちらも NULL です。
ORDER BY id ASC まで書いて、期待される2行の順序を固定します。
4 / 5
← → キーでも送れます