平成31年春期試験問題 午前問29

問29解説へ
"学生"表と"学部"表に対して次のSQL文を実行した結果として,正しいものはどれか。
〔SQL文〕

SELECT 氏名 FROM 学生, 学部
WHERE 所属 = 学部名 AND 学部.住所 = '新宿'
WHERE 所属 = 学部名 AND 学部.住所 = '新宿'
広告
解説
設問のSQL文は「"学生"表と"学部"表を"所属"列と"学部名"列で結合し、"学部"表の"住所"列の値が"新宿"である行を選択し、その中から"氏名"列を抜きだす」と解釈できます。
結果を得るまでの手順を以下に示します。
結果を得るまでの手順を以下に示します。
- まず、"学生"表と"学部"表を、"所属"列と"学部名"列の値が同じ行同士で結合します。
- その中で"学部"表の"住所"列の値が"新宿"である行だけを選択します。
- 最後に"氏名"列を抜き出すと「ウ」の結果が得られます。
広告