平成20年 春期 基本情報技術者 午前 問58 の問題の解説をお願い致したく思っております。
どうしても、なぜ『エ』が不正解なのか、分かりません。
宜しくお願い致します。
----------
問58 “社員”表から,職務がプログラマである社員が5人未満の部署の部署コードを探すSQL文として,適切なものはどれか。ここで,“社員”表は次の構造であり,各列にはナル値は含まれないものとする。
社員(社員番号,社員名,部署コード,職務)
ア
SELECT DISTINCT 部署コード FROM 社員 S1
WHERE 5 > (SELECT COUNT(S2.社員番号) FROM 社員 S2
WHERE S1.部署コード = S2.部署コード
AND S2.職務 = 'プログラマ')
イ
SELECT DISTINCT 部署コード FROM 社員 S1
WHERE 5 < (SELECT COUNT(S2.社員番号) FROM 社員 S2
WHERE S1.部署コード = S2.部署コード
AND S2.職務 <> 'プログラマ')
ウ
SELECT DISTINCT 部署コード FROM 社員 S1
WHERE EXISTS (SELECT * FROM 社員 S2
WHERE S1.部署コード = S2.部署コード
AND S2.職務 = 'プログラマ')
GROUP BY S1.部署コード HAVING COUNT(*) < 5
エ
SELECT DISTINCT 部署コード FROM 社員 S1
WHERE S1.部署コード IN (SELECT S2.部署コード FROM 社員 S2
WHERE S1.部署コード = S2.部署コード
AND S2.職務 = 'プログラマ'
GROUP BY S2.部署コード HAVING COUNT(*) < 5)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
最近は基本情報でもこんなわかりにくいSQL文出すんですね。
(すいません。第二種時代の人間で)
さて、エがなぜ不正解かというと、「その部署にプログラマである社員が1人もいない場合、抽出できないから」です。
アはCOUNTを使っていますから、サブクエリの結果がゼロ人でも「0」を返してくれますが、エはサブクエリの結果が該当なしとなってしまい、メインクエリのIN句の条件を満たさなくなってしまうのです。
いつもありがとうございます。
エの不正解の理由が分かりました。
とても助かりました。
丁寧で迅速なご回答を頂きありがとうございました。
これからも何卒宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 神奈川県の市区町村の一覧。ただ 3 2023/05/01 18:01
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- 数学 数学の質問です。 kを正の実数とする。 点Pは△ABCの内部にあり、 kAP+5BP+3CP = 0 2 2023/07/03 21:24
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- 工学 電気回路の2端子対回路 (1)スイッチS1のみが開いているときの電流I1を求めよ。 (2)スイッチS 4 2023/05/29 16:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
平成20年 春期 基本情報技術者 ...
-
SQLServer 日付が直前のレコー...
-
SQLにて縦を横へ展開
-
SQLの実行結果が異なる
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
SELECTの結果で同一行を複数回...
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
あるカラムのMAX値+1をINSERTし...
-
カレントレコードが無い事を判...
-
実績累計の求め方と意味を教え...
-
Access 文字+年ごとの自動採番
-
select句副問い合わせ 値の個...
-
ファイル書込みで一行もしくは...
-
Excelで、改行がある場合の条件...
-
Excelでセルの書式設定を使用し...
-
ACCESSの集計クエリで3件ある...
-
MERGE文を単体テーブルに対して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
CREATE テーブルでの複数外部...
-
沿線コード
-
10営業日前の日付を取得したい...
-
Order by句でバインド変数を使...
-
ヤマト急便のチェックデジット...
-
同一コード毎に最新の名称を取...
-
SQLに関して
-
【SQL】登録されているかを比較...
-
SELECT文で
-
オラクル 名称をコードに変換
-
SQLの抽出条件の記述の仕方につ...
-
一度のSQL発行で結果を得るには...
-
ACCESSで、コード基本のお勧め...
-
SQLにて縦を横へ展開
-
SQLの集約の方法
-
SQLで<>を使用するとき、
-
基本情報技術者の試験について
-
ストアドプロシージャーの引数...
-
SQL GROUP BY
おすすめ情報