ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Oracle, SQLServer, DB2... etcコミュの質問させて下さい

  • mixiチェック
  • このエントリーをはてなブックマークに追加
こんにちは。
以前、正規化について質問させて頂いたのですが、
もう一点、SQL文の問題について質問させて下さい。

以下は、やはり回答がない問題なのですが、私の考えた答えを最後に記述しています。
この考え方であっているかどうか、教えて頂けますでしょうか。


■学籍年度テーブル
ID  学年  組  出席番号
3001 3   1  1
3012 3   1  2
3020 3   1  4
3032 3   1  3
3055 3   1  5

■学籍テーブル
学籍ID 氏名 性別 得点
3001 赤嶺太郎 男 55
3012 飯田次郎 男 80
3032 上原花子 女 70
3020 江田良子 女 60
3055 大山三郎 男 35

問題:SQL文を実行したところ、「3,上原花子,70」が得られた。
この結果が得られる構文は、下のア〜エのうちどれか。

選択肢:
ア
SELECT 出席番号,氏名,得点 FROM 学籍,学籍年度 WHERE 得点=70

イ
SELECT 出席番号,氏名,得点 FROM 学籍年度,学籍 WHERE 学籍ID=ID And 得点=70

ウ
SELECT 出席番号,氏名,得点 FROM 学籍,学籍年度 WHERE 学籍ID=ID And 得点=70

エ
SELECT 出席番号,氏名,得点 FROM 学籍,学籍年度 WHERE 学籍ID=ID And 得点='70'


私の考えた答え:
(1)テーブルとフィールドの順番を合わせる
(学籍年度テーブルと「ID」、学籍テーブルと「学籍ID」)
(2)数字は' 'でくくらない
よって、ウが正解

(1)も(2)も、その情報が載っている本がなかったので…。
どうか、よろしくお願いいたします。

コメント(4)

はじめましてー
イとウどちらでもいいような気がしないでもないのですが・・・
(2)に関してはそれでいいと思いますー(得点が文字列で格納されているのならエになりますが)
(1)に関しては自信がないのでスルー(普段、「学籍.学籍ID = 学籍年度.ID」みたいに記述するので)
ただカラム名が重複しないならテーブル指定する順番はどちらでもいい気がするのですが・・・うぬぬ
ア以外は正解。表定義を明確にしてないので、エもありかと・・
多分Oracleだと暗黙キャストで得点が数値でもエでも実行可能かも
>えいるさん、ぱおぱお。さん
どうも、ありがとうございます。
なるほどー。イ・ウ・エとも、動くことは動くみたいですね。
ぱおぱおさんに補足で。ご指摘通り得点が数値型でもOracleであれば''括りでもデータ取得できます
#個人的な記述の好みで言えばCですが(笑)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Oracle, SQLServer, DB2... etc 更新情報

Oracle, SQLServer, DB2... etcのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング