PREPARATION
受験対策

Silverの例題解説「開発/SQL - SQLコマンド(SELECT文)」

今回は、Silverの「開発/SQL - SQLコマンド(SELECT文)」

例題

3.40

次のようなテーブルtestがある。なお、id1、id2はいずれもINTEGER型、valはTEXT型である。
=> select * from test;

id1 | id2 | val
----- + ----- + -----
1 | 1 | aaa
1 | 2 | bbb
1 | 3 | ccc
2 | 1 | ddd
3 | 2 | eee
(5 行)
ここで、次のSELECT文を実行した。
=> select val from test order by id2, id1 desc limit 1 offset 2;

以下の結果の空欄に入るのは何か。

val
-----
___
(1 行)

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2014年4月14日

解答と解説

ORDER BY句のあるSELECT文は、そこで指定された列の値でソートされて出力されます。DESCをつけると、その列については降順でソートされます。従って、例題のSELECT文では、まずid2の値でソートされ、id2の値が同じ行については、id1の値で降順にソートされます。
=> select * from test order by id2, id1 desc;
とすると、出力は以下の通りです。

id1  |id2  |val

-----+-----+-----

2    |1    |ddd

1    |1    |aaa

3    |2    |eee

1    |2    |bbb

1    |3    |ccc

例題では、”LIMIT 1 OFFSET 2”が指定されているので、先頭の2行は出力されず、その次の1行だけが出力されます。

従って、正解は eee です。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

LPI-Japan
Platinum Sponsors