応用情報技術者トランザクションとWeb境界の診断オリジナル・公式資料照合難易度
顧客cに対応する注文oが存在しない顧客を探す。注文.customer_idにはNULLが含まれる可能性がある。適切な条件はどれか。
A
EXISTS (SELECT 1 FROM orders)
注文全体の有無だけを調べ、顧客との対応を確認していない。
B
c.id = NULL
NULLは等号では判定できず、注文の不存在も表せない。
C
NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id=c.id)★ 正解
相関条件を満たす行の有無を調べるため、別のNULL行の存在だけで全顧客を除外しない。
D
c.id NOT IN (SELECT customer_id FROM orders)
副問合せにNULLが含まれると、比較結果が不明になり期待した行を返さないことがある。
解説
相関条件を満たす行の有無を調べるため、別のNULL行の存在だけで全顧客を除外しない。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験/シラバスVer.7.2・科目A/B表記
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。
同じレッスンの問題
問題 1
PostgreSQL 16のSERIALIZABLEで、同時更新の結果、トランザクションがserialization failureになった。業務処理を維持する適切な基本対応はどれか。
問題 2
PostgreSQL 16で未処理注文だけの小さい索引を作りたい。status='open'の行だけを対象とする索引の種類はどれか。
問題 4
同時処理でDBがデッドロックを検知し、一方のトランザクションを中断した。再試行を実装する際の注意はどれか。
問題 5
アプリはX-Forwarded-Forで接続元を記録する。インターネットから直接送られたヘッダも無条件に信用していた。改善として適切なものはどれか。