「相関副問合せ」の見分け方「データベーススペシャリスト試験」戦略的学習のススメ(14)

あの“津崎さん”さんも保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「相関副問合せの見分け方」を解説します。

» 2017年07月25日 05時00分 公開

連載目次

ポケットスタディ データベーススペシャリスト [第2版]

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。


※編集部注:前回記事「SQLで「テーブルの結合」を行う」はこちら

相関副問合せ

出題頻度 午前II:●-- 午後I:--- 午後II:---


 ●--:過去14年間での過去問出題数が1〜9回
 ●●-:過去14年間での過去問出題数が10〜19回
 ●●●:過去14年間での過去問出題数が20回以上


Key Word

相関副問合せの見分け方、相関副問合せ処理の流れ


相関副問合せの見分け方

 下図のように、副問合せの文中で、副問合せの外側の属性(検索結果)を利用して検索している問合せを、相関副問合せと呼びます。

相関副問合せの例(H19春DB午前問35改題)

相関副問合せの処理の流れ

 相関副問合せでは、以下のように特殊な流れの処理が行われます。

(1)外側のSELECT文を1行分だけ実行

 外側の「SELECT 社員番号, 社員名 FROM 社員」について、社員テーブルの最初の1行目分(2回目には2行目分、3回目には3行目分、…)だけ実行し、結果を取り出します。

取り出し結果(S1)

(2)取り出した表を副問合せに代入して実行

 (1)で取り出した1行を副問合せの文中のS1に代入し実行します。ここで「S1.性別」は「男」となるため、代入するとSQL文は次のようになります。

SELECT MIN(生年月日) FROM 社員 AS S2 WHERE '男' = S2.性別

 この処理の結果は、「1977/4/21」となります。

(3)外側のSELECT文における、1行目のWHERE句の判定を行う

 (2)により、外側のSQL文は次のようになります。

SELECT 社員番号, 社員名 FROM 社員 AS S1 WHERE 生年月日 > 1977/4/21

 この処理の結果は、以下の通りとなります。

処理結果

 尚、以上は外側のSQL文実行における1行目の処理結果ですが、以上(1)〜(3)を全ての行について行うと、相関副問合せの結果となります。

相関副問合せの結果

 相関副問合せは(少なくとも過去14年間は)午後試験分野について過去に1問しか出題されておらず、午前分野でも過去に2種類しか出題されていません。理解するに越したことはありませんが、割り切って以下の問題の解答だけを暗記し、学習における優先度を下げることも有効な戦略です。

本試験過去問題による類題演習
□H23 午前II問11 社員表から最年長社員を除く社員を抽出する相関副問合せSQL文の完成(Chance問題)

Chance問題

Point check

“製品”表と“在庫”表に対し、次のSQL文を実行した結果として得られる表の行数は幾つか。

SELECT 製品番号 FROM 製品
	WHERE NOT EXISTS(SELECT 製品番号 FROM 在庫
		WHERE 在庫数 > 30 AND 製品.製品番号 = 在庫.製品番号)
Point check

(H22春DB午前II問14)


 1    2    3    4


解答 Point check 

 *囲み内をクリックすると解答を表示します(表示後ページをリロードすると、再び非表示になります)

書籍紹介

ポケットスタディ データベーススペシャリスト [第2版]

ポケットスタディ データベーススペシャリスト [第2版]

具志堅融、河科湊著
秀和システム 1,500円

データベーススペシャリスト試験は同じパターンの出題が多いため、過去問をたくさん解くことが合格の早道です。しかし、難易度の高い過去問を解くには、勉強が必要であり、多くの時間と労力を必要とします。本書は、プロの講師が推奨する、テキストを少し読み→該当する過去問を解き→理解を深めるというアジャイル的学習法で、驚くほど短時間で合格するツボとコツを解説します。"すき間時間"を活用して効果的な学習ができます!


注文ページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。