基本情報技術者試験練習問題

データベースの「データ操作言語」の問題(ランダム出題)(1問目)(問題番号:94)

問題
以下のseisekiテーブルとseitoテーブルがある。
両方のテーブルをseito_idで内部結合し、クラスごとに最高点数を抽出して表示する文は?
但し、最高点数が80点未満のクラスは除外する。
seiseki=# SELECT * FROM seiseki;
 seito_id | kamoku_id | exam_id | score
----------+-----------+---------+-------
        1 |         1 |       1 |    80
        4 |         1 |       1 |    90
        5 |         1 |       1 |    75
        6 |         1 |       1 |   100
        7 |         1 |       1 |    88
        8 |         1 |       1 |    56
        2 |         1 |       1 |    55
        3 |         1 |       1 |    70
        9 |         1 |       1 |    99
(9 rows)

seiseki=# SELECT * FROM seito;
 seito_id | name | class
----------+------+-------
        1 | 織田 | C
        2 | 羽柴 | A
        3 | 松平 | B
        4 | 毛利 | A
        5 | 武田 | B
        6 | 上杉 | C
        7 | 明智 | A
        8 | 石田 | B
        9 | 加藤 | C
(9 rows)

SELECT seito.class, max(seiseki.score) FROM seiseki JOIN seito ON seiseki.seito_id = seito.seito_id GROUP BY seito.class HAVING max(seiseki.score) => 80;
SELECT seito.class, max(seiseki.score) FROM seiseki, seito WHERE seiseki.seito_id = seito.seito_id GROUP BY seito.class HAVING max(seiseki.score) >= 80;
SELECT seito.class, max(seiseki.score) FROM seiseki JOIN seito ON seiseki.seito_id = seito.seito_id GROUP BY seito.class HAVING seiseki.score >= 80;
SELECT seito.class, max(seiseki.score) FROM seiseki JOIN seito ON seiseki.seito_id = seito.seito_id GROUP BY seito.class WHERE max(seiseki.score) >= 80;

結果

ここに結果を表示します

分野一覧へ戻る

あなたの分野・分類ごとの統計情報

分野分類
スコアがありません