PREPARATION
受験対策

Silverの例題解説「開発/SQL」(Ver.2.0)

このページではメルマガで紹介した例題のアーカイブを試験のレベルごとにまとめています。
是非、OSS-DBの学習にお役立てください。

修正等により、例題番号が連番ではない場合がございます。あらかじめご了承ください。

[開発/SQL - SQLコマンド(SELECT文)] から

3.147 NEW

psqlでテーブルtestからSELECTを実行したときの出力は以下のようになった。

=> select * from test;
 a | b
---+---
 a | b
(1 行)

このテーブルについて、select a b from test; を実行したときの出力はどのようになるか。


  1.  a
    ---
     a
  2.  a
    ---
     b
  3.  b
    ---
     a
  4.  b
    ---
     b

  5. 上記のいずれでもない。


[開発/SQL - トランザクションの概念(トランザクションの構文)] から

3.146 NEW

SAVEPOINTの説明として適切なものを3つ選びなさい。


  1. SAVEPOINT name のようにセーブポイント名をパラメータとして実行することが多いが、このパラメータは省略可能である。
  2. SAVEPOINT name として指定するセーブポイント名はトランザクション内で一意でなければならず、同じ名前を再使用するとエラーになる。
  3. ROLLBACK TO name を実行すると、SAVEPOINT以降の更新がすべて破棄されるが、セーブポイント以前の更新は保持される。
  4. ROLLBACK を実行すると、SAVEPOINT 以前のものも含めて、トランザクション内の更新はすべて破棄される。

  5. COMMITを実行すると、SAVEPOINT以前、以降両方の更新がすべて確定されてデータベースに書き込まれる。


[開発/SQL - 組み込み関数(時間関数)] から

3.145

以下のSQLで作成したテーブルdt_sampleがある。

create table dt_sample(pk integer primary key, dt1 date, dt2 date, ti1 time, ts1 timestamp);

このテーブルについて以下の演算をしたときの結果の説明として適切なものを3つ選びなさい。


  1. select dt1 + 10 from dt_sample; を実行すると、dt1の10日後の日付が返される。
  2. select dt2 - dt1 from dt_sample; を実行すると、dt1 から dt2 までの経過日数が整数で返される。
  3. select ti1 + 100 from dt_sample; を実行すると、t11 の100秒後の時刻が返される。
  4. select ts1 + 10 from dt_sample; を実行すると、ts1の10日後の日時が返される。
  5. select dt1 + ti1 from dt_sample; を実行すると、dt1の日付とti1の時刻を組み合わせた日時が返される。


[開発/SQL - 組み込み関数(集約関数)] から

3.144

文字列関数についての以下の説明で、適切なものを3つ選びなさい。


  1. character_length関数で文字列のバイト長を取得できる。
  2. substring関数で文字列の2文字目から5文字目までといった部分文字列を取得できる。
  3. lower関数で文字列がすべて英小文字からなっているかどうかを調べることができる。
  4. trim関数で文字列の両端から空白文字を除去した文字列を取得できる。
  5. replace関数で文字列中の文字の置換を行い、例えばすべての a を A に変更する、といったことができる。


[開発/SQL - 組み込み関数(集約関数)] から

3.143

以下のSQLを実行した。

create table sample(val int);
insert into sample(val) values(null), (1), (2), (3), (4), (5);
select count(*), count(val), sum(val), avg(val), max(val) from sample;

以下から正しいものをすべて選びなさい。

  1. count(*) の値は6である。
  2. count(val)の値は6である。
  3. sum(val)の値は15である。
  4. avg(val)の値は2.5である。
  5. max(val)の値はNULLである。


[開発/SQL - SQL コマンド(PL/pgSQL)] から

3.142

以下を実行してストアドプログラムを定義した。

create function sample_func(x integer) returns integer as $$
declare
begin
  raise info 'Hello World!';
  return x * 2;
end;
$$ language plpgsql;

定義されたプログラムについて適切な説明を3つ選びなさい。

  1. 実行するには、例えば call sample_func(10) などとすれば良い。
  2. 実行するには、例えば select sample_func(10) などとすれば良い。
  3. 端末から実行すると、画面に Hello World! と表示される。
  4. sample_func(10) は値として20を返す。
  5. 実行すると例外が発生して異常終了する。


[開発/SQL - SQL コマンド(関数定義 / プロシージャ定義)] から

3.141

以下のコマンドでテーブルと関数を定義した。

create table testa(id integer primary key, val varchar) ;
create function testfunc(x integer) returns varchar language sql as $$
select val from testa where id = x $$ ;

次のSELECT文を実行するために必要な権限として最も適切なものを選びなさい。

select testfunc(1);

  1. 特に制限はなく、どのユーザでも実行できる。
  2. 関数testfuncの所有者のみが実行できる。
  3. 関数testfuncのEXECUTE権限がGRANTされていれば実行できる。
  4. テーブルtestaのSELECT権限がGRANTされていれば実行できる。
  5. 関数testfuncのEXECUTE権限とテーブルtestaのSELECT権限の両方がGRANTされている必要がある。


企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

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

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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

応募者全員プレゼント!
オープンソース データベース標準教科書 -PostgreSQL-