基礎理論
アルゴリズム
コンピュータ構成要素
システム構成要素
ソフトウェア
ハードウェア
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
システム開発技術
ソフトウェア開発管理技術
😀 mypage
🥇 ranking
📊 chart
📏 rule
No.35 "商品"表,"在庫"表に対する次のSQL文と,同じ結果が得られるSQL文はどれか。
ここで,下線部は主キーを表す。
⭕️
💾
🖊 ☑️
⭕️ [[ AnswerCalc[0] ]] % A [[ AnswerCalc[1] ]]
まず設問のSQL文ですが、(SELECT 商品番号 FROM 在庫)の副問合せで"在庫"表の商品番号列に存在する値のリストを作成し、それを"商品"表の商品番号列と比較しています。比較演算子はNOT INなので、"商品"表の商品番号列の中で、"在庫"表の商品番号列に存在しない商品番号のリストが得られます。
EXISTSは、親表の行を1行ずつ処理し、続く相関副問合せによって返された結果行が1つ以上存在すれば真、1つもなければ偽を返す句です。INとEXISTSは異なる意味ですが、使い方を工夫することで同じ結果を返すことが可能です。

  • "在庫"表の商品番号のうち、"商品"表の商品番号列の値として存在する行が得られます。上記の例でいえば、商品番号{101, 105, 102, 104}が返されます。

  • "在庫"表の商品番号のうち、"商品"表の商品番号列の値として存在しない行が得られます。上記の例でいえば、"結果なし"が返されます。

  • 副問合せは、現在処理中の"商品"表の商品番号が、"在庫"表の商品番号として存在する場合に1行以上を返します。"EXISTS = 真"となる行は、両表に含まれる商品番号になります。上記の例でいえば、商品番号{101, 102, 104, 105}が返されます。

  • 正しい。副問合せは、現在の"商品"表の商品番号が"在庫"表の商品番号として存在する場合に1行以上を返します。"NOT EXISTS = 真"となる行は、"商品"表に商品番号があるが、"在庫"表にはその商品番号がない行になります。上記の例でいえば、商品番号{103, 106}が返されます。
💾 ✔️
[[ d.CommentTxt ]]
🏠 >   基本情報技術者試験 >     テクノロジー >     データベース >  
< >
🥇