令和6年秋期試験問題 午前Ⅱ 問8
問8解説へ
図のツリー構造に対するデータを格納した"隣接リスト"表から,リーフノードを取得するSQL文のaに入れる字句はどれか。ここで,図の丸はノードを表し,矢印は親ノードから子ノードへの関係を表す。
〔SQL文〕

SELECT 子ノード FROM 隣接リスト
a
SELECT 親ノード FROM 隣接リスト
a
SELECT 親ノード FROM 隣接リスト
- EXCEPT
- INTERSECT
- UNION
- UNION ALL
正解 ア問題へ
分野 :テクノロジ系
中分類:データベース
小分類:データ操作
中分類:データベース
小分類:データ操作
広告
解説
リーフノードとは、木構造の末端に位置し、子ノードを持たないノードを指します。設問の木構造では「D、E、G」がリーフノードに該当します。
「D、E、G」は隣接リスト表上で「子ノードとして存在しながら、親ノードではない」という特徴を持ちます。したがって、EXCEPT(差演算)を使用して、子ノードの一覧から親ノードの一覧を差し引けばリーフノードのみを取得することができます。
したがって「ア」が正解です。
「D、E、G」は隣接リスト表上で「子ノードとして存在しながら、親ノードではない」という特徴を持ちます。したがって、EXCEPT(差演算)を使用して、子ノードの一覧から親ノードの一覧を差し引けばリーフノードのみを取得することができます。
したがって「ア」が正解です。
- 正しい。EXCEPTは、2つの結果セットR、Sについては差集合(R-S)を得る演算です。設問の場合、リーフノードである「D、E、G」が取得されます。
- INTERSECTは、2つの結果セットの共通集合を得る演算です。設問の場合、親ノードである「A、B、C、F」が取得されます。
- UNIONは、2つの結果セットの和集合を得る演算です。設問の場合、A~Gの全てのノードが重複なしで取得されます。
- UNION ALLは、2つの結果セットの和集合を得る演算です。UNIONとの違いは重複行もそのまま表示される点です。設問の場合、A~Gの全てのノードが重複ありで取得されます。
広告