問1 ..................................................................................................
以下の SQL文のうち、列見出しが小文字で表示されるものをすべて選択しなさい。
a. select ID, NAME from EMP;
b. select id, name from emp;
c. select id 'id', name 'name' from emp;
d. select id "id", name "name" from emp;
→回答と解説
問2 ..................................................................................................
PRICE_MST 表のVAL列には、250, NULL, 900 ,380の値がそれぞれ入っています。
下記の SQL文を実行した場合、何件の結果が検索されるか選びなさい。
select * from PRICE_MST where VAL <> 900;
a. 0件
b. 1件
c. 2件
d. 3件
e. 4件
f. エラーが発生する
→回答と解説
問3 ..................................................................................................
下記の制約を無効にする DDL文の空欄を埋めなさい。
alter table EMP [ ] constraint PK_EMP;
a. set
b. enable
c. unused
d. disable
e. unset
→回答と解説
問4 ..................................................................................................
SGA を構成する要素のうち、解析済みSQL文やデータディクショナリ情報を格納するメモリ
領域を選びなさい。
a. データベースバッファキャッシュ
b. REDOログバッファ
c. 共有プール
d. 一時表領域
→回答と解説
問5 ..................................................................................................
下記の3つの文を使用し、ロールをSCOTTに付与します。
正しい順序を選びなさい。
<実行する文>
1.grant rol_manager to scott;
2.create role rol_manager;
3.grant create table, create view to rol_manager;
a. 2→1→3
b. 2→3→1
c. 3→2→1
d. 3→1→2
→回答と解説
問6 ..................................................................................................
下記の順番に SQL文を実行しました。結果として正しいものをすべて選びなさい。
<SQL 文の実行順番>
1.SELECT文
2.INSERT文
3.SAVEPOINT A
4.UPDATE文
5.SAVEPOINT B
6.DELETE文
7.ROLLBACK TO A
a. A および Bは有効
b. A のみ有効
c. DELETE文のみROLLBACKされる
d. UPDATE文およびDELETE文がROLLBACKされる
→回答と解説
問7 ..................................................................................................
順序をすべてデフォルト値を使用して作成した場合、正しい説明をすべて選びなさい。
a. 初期値は0
b. 増分値は1
c. 最小値は1
d. 最大値は99999999
e. CACHE 1がデフォルト
f. NOCYCLEがデフォルト
→回答と解説
問8 ..................................................................................................
下記の実行結果として正しいものをすべて選びなさい。
SQL> !cat check_emp.sql
select empno,ename,sal from emp where empno = &EMPNO;
update emp set sal = sal * 1.3 where empno = &empno;
SQL> @check_emp.sql
a. コマンドファイルの初回実行時だけ、「&EMPNO」値の入力を求められる
b. コマンドファイルを実行するたびに、毎回「&EMPNO」値の入力を求められる
c. SELECT文実行時の「&EMPNO」入力要求で指定した値は、UPDATE文の「&empno」に引き継がれる
d. SELECT文実行時の「&EMPNO」入力要求で指定した値は、UPDATE文の「&empno」に引き継がれない
e. 事前にDEFINEコマンドにて「EMPNO」値を指定しておけば、コマンドファイル実行時に入力要求はされない
→回答と解説
問9 ..................................................................................................
ビューを通して行を削除することができないのは、ビューにどのような要素が
含まれている場合か。下記から3つ選びなさい。
a. ORDER BY句
b. GROUP BY句
c. DISTINCT
d. 式によって定義された列
e. グループ関数
f. ビューにより選択されていないNOT NULL制約付きの列
→回答と解説
問10 ................................................................................................
NAME列の3文字目が「R」である行を検索するための条件として正しいものを選びなさい。
a. where name = '__R%'
b. where name like '..R%'
c. where name like '__R%'
d. where name like '%%R%'
→回答と解説
列見出しは、通常大文字になります。
SQL> select id, name from emp;
ID NAME
-- -----
1 ALICE
2 JOHN
3 TOM
4 MARY
列見出しを小文字にしたい場合は、列別名を二重引用符(")で囲みます。
SQL> select id "id", name "name" from emp;
id name
-- -----
1 ALICE
2 JOHN
3 TOM
4 MARY
WHERE 句の <> は非等価条件と呼ばれます。
非等価条件の場合、検索対象からNULL値は除外されます。
従って検索対象は、 VAL列が「NULL値」を除き「900」以外の値の行 となります。
SQL> select * from PRICE_MST;
NAME VAL
------ ---
pen 250
book
box 900
eraser 380
SQL> select * from PRICE_MST where VAL <> 900;
NAME VAL
------ ---
pen 250
eraser 380
制約を無効にする構文は、
ALTER TABLE 表名 DISABLE CONSTRAINT 制約名 [CASCADE];
制約を有効にする構文は、
ALTER TABLE 表名 ENABLE CONSTRAINT 制約名 [CASCADE];
UNIQUE制約・PK制約を無効化すると、これらに対応する一意索引も削除されます。
再度有効化した場合は、一意索引が自動で作成されます。
ただし、表に制約違反データが入っている場合は有効化に失敗するため注意が必要です。
SGA はシステムグローバル領域の略で、Oracleが使用するメモリ領域を指します。
各メモリの用途は下記のようになっています。
・データベースバッファキャッシュ:表や索引データを格納
・REDOログバッファ:データの変更履歴を格納
・共有プール:解析済みSQL ・データディクショナリ情報を格納
また、共有プールには解析済みSQL を管理する「ライブラリキャッシュ」とディクショナリ
情報を管理する「ディクショナリキャッシュ」が含まれています。
また、「一時表領域」はメモリではなくディスク上の領域ですのでSGA には含まれません。
ロールを介した権限の付与は、「権限→ロール→ユーザ」になります。
2:ロールrol_managerを作成します
3:rol_managerに「create table」「create view」の権限を設定します
1:rol_managerをSCOTTに付与します
7のROLLBACKにて、3のSAVEPOINTまでロールバックしています。
よって、4〜6の変更は無効となります。
順序作成時のデフォルトは下記になります。
・START WITH:初期値(デフォルトは0)
・INCREMENT BY:増分値(デフォルトは1)
・MINVALUE | NOMINVALUE:最小値(昇順:1、降順:-10の26乗)
・MAXVALUE | NOMAXVALUE:最大値(昇順:10の27乗、降順:-1)
・CACHE | NOCACHE:メモリに順序番号をキャッシュするか(デフォルトはCACHE 20)
・CYCLE | NOCYCLE:最大値・最小値に達した場合に繰り返すか(デフォルトはNOCYCLE)
置換変数を使用しているので、実行時に「&EMPNO」に対する入力要求が毎回表示されます。
ただし、事前にDEFINEコマンドにて 「EMPNO」を定義している場合には、入力要求は表示
されません(置換変数は大文字と小文字を区別しませんので、「&EMPNO」と「&empno」は
同じとみなされます)。
SELECT文実行時に入力した「&EMPNO」値をUPDATE文で引き継ぐためには、「&empno」では
なく、「&&empno」または「&&EMPNO」を使用する必要があります。
ビューの元になる表が1つの場合、ビューに下記の要素が含まれていなければ
表データをビューを通してDELETEできます。
・GROUP BY
・グループ関数
・DISTINCT
・擬似列ROWNUMキーワード
文字列のパターンマッチングなので、「=」ではなく「like」を使用します。
ワイルドカードは、
・パーセント記号「%」:任意の0文字以上の文字列
・アンダースコア「_」:任意の1文字
ワイルドカード自体を検索させたい場合は、ESCAPEオプションを使用します。
where name like '%M\_R%' ESCAPE '\' (「M_R」という文字列を検索)
Copyright © 2006 mari. All rights reserved. |
|