演算子の質問の使用

1.Which SET operator does the following figure indicate?

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. MINUS

Answer: A. 集合演算子は、2つ(またはそれ以上)のSELECTステートメントの結果を組み合わせるために使用されます。Oracle11gで有効な集合演算子は、UNION、UNION ALL、INTERSECT、およびMINUSです。2つのSELECTステートメントとともに使用すると、UNION集合演算子は両方のクエリの結果を返します。ただし、重複がある場合は削除され、重複したレコードは1回だけ一覧表示されます。結果に重複を含めるには、UNIONALLを使用します。 set operator.INTERSECTは、両方のクエリによって返されるレコードのみを一覧表示します。MINUS set演算子は、2番目のクエリの結果が最初のクエリの結果にも含まれている場合、それらを出力から削除します。INTERSECTおよびMINUSセット操作は、重複しない結果を生成します。

2.Which SET operator does the following figure indicate?

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. MINUS

Answer: B. UNION ALL重複を並べ替えたり削除したりせずに、2つのクエリから結合された行を返します。

3.Which SET operator does the following figure indicate?

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. MINUS

Answer: C. INTERSECT両方のクエリの結果セットで発生する行のみを返し、それらを並べ替えて重複を削除します。

4.Which SET operator does the following figure indicate?

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. MINUS

Answer: D. MINUS 2番目の結果セットに表示されない最初の結果セットの行のみを返し、それらを並べ替えて重複を削除します。

5.What is true about SET operators?

  1. 行の値を変更します
  2. 2つのコンポーネントクエリの結果のみを1つの結果に結合します
  3. 10個のコンポーネントクエリの結果を2つの結果セットに結合します。
  4. 2つ以上のコンポーネントクエリの結果を1つの結果に結合します

Answer: D. 集合演算子は、2つ(またはそれ以上)のSELECTステートメントの結果を組み合わせるために使用されます。Oracle 11gで有効な集合演算子は、UNION、UNION ALL、INTERSECT、およびMINUSです。

6.What are the queries containing SET operators called?

  1. Sub-queries
  2. 相互に関連するサブクエリ
  3. GROUPBYクエリ
  4. 複合クエリ

Answer: D.

7.What is true about the UNION operator?

  1. NULL値とともに結合されたクエリから行を返します
  2. 重複を排除した後、結合されたクエリの行を返します
  3. 重複する値とともに、結合されたクエリの行を返します
  4. NULL値を無視して結合されたクエリの行を返します

Answer: B. UNION 2つのクエリから結合された行を返し、それらを並べ替えて重複を削除します。

8.What is true about the UNION ALL operator?

  1. NULL値とともに結合されたクエリから行を返します
  2. 重複を排除した後、結合されたクエリの行を返します
  3. 重複する値とともに、結合されたクエリの行を返します
  4. NULL値を無視して結合されたクエリの行を返します

Answer: C. UNION ALL重複を並べ替えたり削除したりせずに、2つのクエリから結合された行を返します。

9.What is true about the INTERSECT operator?

  1. NULL値とともに結合されたクエリから行を返します
  2. 重複を排除した後、結合されたクエリの行を返します
  3. 結合されたクエリから共通の行を返します
  4. 上記のどれでもない

Answer: C. INTERSECT両方のクエリの結果セットで発生する行のみを返し、それらを並べ替えて重複を削除します。

10.What is true about the MINUS operator?

  1. 最初のクエリから行を返しますが、2番目のクエリからは返しません
  2. 2番目のクエリの行を返しますが、最初のクエリからは返しません
  3. 結合されたクエリに対して重複する行を返します
  4. NULL値を無視して結合されたクエリの行を返します

Answer: A. MINUS 2番目の結果セットに表示されない最初の結果セットの行のみを返し、それらを並べ替えて重複を削除します。

11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?

  1. UNION、UNION ALL、INTERSECT、およびMINUS
  2. マイナス、ユニオン、ユニオンオールおよびインターセクト
  3. INTERSECT、MINUS、UNION ALL、UNION
  4. 同等の優先順位

Answer: D. SET演算子の優先順位は同じです。

12.What is the order of evaluation of set operators?

  1. 左から右へ
  2. 右から左へ
  3. ランダム評価
  4. 上から下へ

Answer: A, D. 括弧を使用したクエリのグループ化がないと仮定すると、SET演算子は上から下、左から右に水平方向に評価されます。

13.In which of the following cases, parenthesis should be specified?

  1. INTERSECTを他の集合演算子と一緒に使用する場合
  2. UNIONをUNIONALLと併用する場合
  3. クエリにMINUSを使用する場合
  4. 上記のどれでもない

Answer: A. 括弧を使用すると、INTERSECTを他の演算子で使用するときに、評価の順序が明示的に変更されます。

14.What is true about the SELECT clause when SET operators are used?

  1. 選択する列に制限はありません
  2. SELECT句で使用される列、式は、結合されたクエリで数が一致する必要があります
  3. SELECT句で使用される列、式は、最初のクエリではN、後続の結合クエリではN-1である必要があります。
  4. BとCの両方

Answer: B. 組み合わせたものはすべて同じ番号である必要があります。SET演算子を使用する場合の列の数。複合クエリを構成するクエリの対応する列は、同じデータ型グループである必要があります。

15.What is true about the SET operators?

  1. SELECT句の列数は同じである必要があり、データ型は異なる場合があります
  2. SET演算子は、2つのクエリを組み合わせる場合にのみ使用できます
  3. 2番目のクエリの各列のデータ型は、最初のクエリの対応する列のデータ型と一致する必要があります。
  4. 上記のどれでもない

Answer: C. 組み合わせたものはすべて同じ番号である必要があります。SET演算子を使用する場合の列の数。複合クエリを構成するクエリの対応する列は、同じデータ型グループである必要があります。

16.Where can the ORDER BY clause be used in case when SET operators are used?

  1. 結合されている各クエリで
  2. 最初のクエリでのみ
  3. 複合クエリの最後に
  4. 上記のどれでもない

Answer: C. SET演算子を使用して結合されたクエリの間にORDERBY句を使用すると、ORAエラーがスローされます。

17.What is true about the queries that have SET operators in their WHERE clause?

  1. これらのクエリには同じ番号が必要です。SELECT句の列のデータ型。
  2. いいえ。WHERE句クエリとメインSELECTで使用される列の数は異なる場合があります
  3. いいえ。WHERE句で使用される列の数は同じである必要があり、データ型は異なる場合があります
  4. 上記のどれでもない

Answer: A. 組み合わせたものはすべて同じ番号である必要があります。SET演算子を使用する場合の列の数。複合クエリを構成するクエリの対応する列は、同じデータ型グループである必要があります。

18.What is true about the columns in the second query with respect to the columns in the first query?

  1. 2番目のクエリの列は、1番目のクエリの対応する列と同じデータ型グループに含まれている必要があります
  2. 1番目のクエリの列がNUMBERの場合、2番目のクエリの対応する列はVARCHAR2である必要があります。
  3. 1番目のクエリの列がNUMBERの場合、2番目のクエリの対応する列もNUMBERである必要があります。
  4. 上記のどれでもない

Answer: A, C.

19.What among the following is true about SET operators?

  1. SET演算子はサブクエリでは使用できません
  2. SET演算子は、WHERE句でのみ使用できます。
  3. ORDER BYは、SET演算子で結合されたすべてのクエリに使用できます
  4. SET演算子はサブクエリで使用できます

Answer: D.

20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?

  1. SET演算子の使用順序を変更して、優先順位を変更できます。
  2. 等しい優先順位は変更できません
  3. 括弧を使用して優先順位を変更できます
  4. 上記のどれでもない

Answer: C. 括弧を使用して、優先順位を明示的に変更するために特定のクエリをグループ化できます。実行中は、他のSET演算子よりも括弧が優先されます。

21.What can be said about duplicate values and SET operators?

  1. SET演算子が重複する値を表示しない
  2. すべてのSET演算子は、重複する値を表示できます
  3. UNIONALL演算子のみが重複する値を表示します
  4. 上記のどれでもない

Answer: C. UNION、INTERSECT、およびMINUSは、重複する値を自動的に削除します

Examine the structure of the EMPLOYEES and DEPARTMENTS tables and consider the following query and answer the questions 22 and 23.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
SELECT department_id 
FROM employees e
UNION 
SELECT department_id 
FROM departments

22.What will be displayed in the result of this query?

  1. EMPLOYEESテーブルとDEPARTMENTSテーブルに一緒に含まれている個別の部門IDが表示されます
  2. ORAエラーをスローします
  3. 行が選択されていません
  4. 上記のどれでもない

Answer: A. UNION 2つのクエリから結合された行を返し、それらを並べ替えて重複を削除します。

23.What is true about the query given above?

  1. このクエリはORAエラーを返します
  2. 正常に実行されますが、結果は得られません
  3. 異なるテーブルからのクエリは、SET演算子では使用できません。
  4. クエリは正常に実行され、期待どおりの結果が得られます

Answer: D. 複合クエリは、異なるテーブルを使用する複数のクエリで構成される1つのクエリです。

24.What is the default sorting order of the results when UNION ALL operator is used?

  1. Descending
  2. Ascending
  3. AまたはBのどちらか
  4. 上記のすべて

Answer: B. 複合クエリは、デフォルトで、すべての列にわたって左から右に昇順で並べ替えられた行を返します。唯一の例外は、行が並べ替えられないUNIONALLです。ORDER BY句が許可される唯一の場所は、複合クエリの最後です。

25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?

  1. 出力には、同じ長さのVARCHAR2データ型が含まれます
  2. 出力には、同じ長さのCHARデータ型が含まれます
  3. 出力には、さまざまな長さのCHARデータ型が含まれます
  4. 出力には、同じ長さのNUMBERデータ型が含まれます

Answer: B. 複合クエリを構成するクエリの列には異なる名前を付けることができますが、出力結果セットは最初のクエリの列の名前を使用します。複合クエリを構成するクエリの対応する列は、同じデータ型グループである必要があります。

26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?

  1. 出力には、同じ長さのVARCHAR2データ型が含まれます
  2. 出力には、同じ長さのCHARデータ型が含まれます
  3. 出力には、さまざまな長さのCHARデータ型が含まれます
  4. 出力は、大きい方のCHAR値の長さのVARCHAR2データ型になります

Answer: D. 選択した列リストは完全に同じデータ型である必要はありませんが、同じデータ型グループからのものである必要があります。複合クエリの結果セットには、より高いレベルの精度の列が含まれます。

27.What will be the output of a compound query if either or both queries select values of VARCHAR2?

  1. 出力はVARCHAR2データ型になります。
  2. 出力には、同じ長さのCHARデータ型が含まれます
  3. 出力には、さまざまな長さのCHARデータ型が含まれます
  4. 出力は、大きい方のCHAR値の長さのVARCHAR2データ型になります

Answer: A. 選択した列リストは完全に同じデータ型である必要はありませんが、同じデータ型グループからのものである必要があります。複合クエリの結果セットには、より高いレベルの精度の列が含まれます。

28.What is true if the compound queries select numeric data?

  1. 数値、演算子の優先順位は同じになります
  2. 戻り値は、数値の優先順位によって決定されます
  3. 戻り値はNUMBERデータ型になります
  4. 上記のどれでもない

Answer: B, C. 選択した列リストは完全に同じデータ型である必要はありませんが、同じデータ型グループからのものである必要があります。複合クエリの結果セットには、より高いレベルの精度の列が含まれます。

29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?

  1. Oracleはそれらを暗黙的に変換し、VARCHAR2データ型の結果を返します
  2. Oracleはそれらを暗黙的に変換し、NUMBERデータ型の結果を返します
  3. ORAエラーがスローされます
  4. 上記のどれでもない

Answer: C. Oracleはデータ型を暗黙的に変換しません。

30.What is true about the UNION operator?

  1. NULL値を無視して重複値を排除します
  2. NULL値を無視して重複値を返します
  3. NULL値を含む重複値を返します
  4. 重複する値を排除し、NULL値を無視しません

Answer: D. UNION演算子を使用する場合、NULL値は無視されません

31.What can be said about the names and columns of a SQL query which uses the UNION operator?

  1. 列の名前は同じである必要があります
  2. 列の名前とデータ型は同じである必要があります
  3. 列の名前は同一である必要はありません
  4. 上記のどれでもない

Answer: C. 複合クエリを構成するクエリの列には異なる名前を付けることができますが、出力結果セットは最初のクエリの列の名前を使用します。

Consider the following exhibit of the JOB_HISTORY table and the query that follows. Answer the questions 32 and 33 below the query.

SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id , first_name, last_name, job_id
FROM employees E
UNION
SELECT employee_id , first_name, last_name, job_id
From job_history;

32.How many times the each employee will get displayed by the above query?

  1. 0
  2. 1
  3. 2
  4. 4

Answer: B. UNION 2つのクエリから結合された行を返し、それらを並べ替えて重複を削除します。

33.What will be the outcome of the above query?

  1. 従業員の現在および以前の仕事の詳細を2回表示します
  2. 従業員の現在および以前の仕事の詳細を1回だけ表示します
  3. AまたはBのどちらか
  4. 上記のどれでもない

Answer: B.

Examine the given table structures and consider the following query and answer the questions 34 to 37 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id , job_id, department_id 
FROM employees
UNION
SELECT employee_id , job_id, department_id 
From job_history;

34.Assuming that an employee with ID 121 has held 2 job IDs in his tenure in the company. Considering the above query, how many times will his records be displayed in the results?

  1. Once
  2. Twice
  3. Thrice
  4. 上記のどれでもない

Answer: B. UNION 2つのクエリから結合された行を返し、それらを並べ替えて重複を削除します。重複は、個々の列ではなく、列の組み合わせによって測定されます。

35.Assuming that the employee with ID 121 held two positions in two different departments - 10 and 20 in the company.He worked as 'SA_REP' in both the departments 10 and 20. What will be the outcome of the above query ?

  1. 2行
  2. 3行
  3. 行なし
  4. ORAエラー

Answer: B.

36.Which statements best describes the inference drawn from the questions 34 and 35?

  1. ジョブコードに重複する値があります
  2. クエリは実行されますが、生成される結果は予期しないものです
  3. 部門に重複する値はありません
  4. 上記のどれでもない

Answer: C. ジョブコードと部門の組み合わせは一意であるため、重複は取得されません。

37.What will be the sorting in the result set obtained by the query?

  1. 従業員IDで降順
  2. ジョブIDの降順
  3. 従業員IDで昇順
  4. 部門IDで昇順

Answer: C. デフォルトの並べ替えは、最初の列(この場合は従業員ID)に基づいて昇順になります。ただし、この動作は、最後に1つのORDERBY句を配置することで変更できます。

38.Which of the following operators will be used to obtain duplicate records from the component queries?

  1. UNION
  2. UNION ALL
  3. MINUS
  4. 上記のどれでもない

Answer: B. UNION ALLは、重複する値を排除しません。

39.What is the difference between the UNION and the UNION ALL operators?

  1. 違いはありません
  2. UNIONALLは重複する値も表示します
  3. UNION ALLの場合の出力は、デフォルトではソートされません
  4. 上記のどれでもない

Answer: B, C. 2つのSELECTステートメントとともに使用すると、UNION集合演算子は両方のクエリの結果を返します。ただし、重複がある場合は削除され、重複したレコードは1回だけ一覧表示されます。結果に重複を含めるには、UNIONALL集合演算子を使用します

40.What is true about the INTERSECT operator?

  1. コンポーネントクエリの列の数と列のデータ型は同じである必要があります
  2. コンポーネントクエリの列の名前と列のデータ型は同じである必要があります
  3. AもBも
  4. 上記のどれでもない

Answer: A. これは、SET演算子の一般的なプロパティ基準機能です。

41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?

  1. 結果が変更されます
  2. 結果は同じままです
  3. 変更によりソートが変わります
  4. 上記のどれでもない

Answer: B.

42.What among the following is true about the INTERSECT operator?

  1. NULL値を無視します
  2. NULL値を無視しません
  3. 最初のコンポーネントクエリからすべての行を返します
  4. 上記のどれでもない

Answer: B.

Answer the related questions 43 and 44 given below.

43.You need to display the names and job IDs of those employees who currently have a job title that is the same as their previous one. Which of the following queries will work? (Consider the table structures as given)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT employee_id , job_id, first_name, last_name
    FROM employees
    UNION
    SELECT employee_id , job_id, first_name, last_name
    FROM job_history;
  2. SELECT employee_id , job_id, first_name, last_name
    FROM employees
    INTERSECT
    SELECT employee_id , job_id, first_name, last_name
    FROM job_history;
  3. SELECT employee_id , job_id, first_name, last_name
    FROM employees
    UNION ALL
    SELECT employee_id , job_id, first_name, last_name
    FROM job_history;
  4. 上記のどれでもない

Answer: B.

44.Considering the above query i.e. Option B in question 43, what will be the result if the department ID is also included in the SELECT clause?

  1. 結果は同じになります
  2. 結果は異なります
  3. 結果は同じですが、順序が異なります
  4. 上記のどれでもない

Answer: A. 結果は次のように解釈できます-同じ部門で同じ役職で働いた従業員。

45.What is true about the MINUS operator?

  1. すべてのコンポーネントクエリからすべての行を返します
  2. すべてのコンポーネントクエリから共通の行のみを返します
  3. 後続のクエリからではなく、最初のクエリからすべての行を返します
  4. 最初のクエリで選択されたが、後続のクエリには存在しないすべての個別の行を返します

Answer: D. マイナス集合演算子は、2番目のクエリの結果が最初のクエリの結果にも含まれている場合、それらを出力から削除します。

46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?

  1. それらは同じである必要があり、データ型は異なる場合がありますが、同じデータ型グループに属している必要があります。
  2. それらは列の名前と同じである必要があります
  3. AもBも
  4. 上記のどれでもない

Answer: A. SET演算子の共通機能。

47.You need to display the employee IDs of the employees who have not changed their jobs even once during tenure in the company. Which of the following queries will be correct in this case? (Consider the table structures as given)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT employee_id 
    FROM employees
    UNION
    SELECT employee_id 
    FROM job_history;
  2. SELECT employee_id 
    FROM employees
    INTERSECT
    Select employee_id 
    FROM job_history;
  3. SELECT employee_id 
    FROM employees
    MINUS
    Select employee_id 
    FROM job_history;
  4. SELECT employee_id 
    FROM employees
    UNION ALL
    SELECT employee_id 
    FROM job_history;

Answer: C.

Examine the given table structures and consider the following query answer the questions 48 and 49 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id , first_name, job_id
FROM employees
UNION
SELECT employee_id , NULL "first_name", job_id
FROM job_history;

48.What is true about the above query?

  1. TO_CHAR(NULL)は使用できないため、エラーがスローされます
  2. 正常に実行され、従業員のid、first_name、および重複行を含む現在の職務の値が提供されます。
  3. 正常に実行され、従業員のid、first_name、および重複行を除く従業員が保持するすべてのジョブの値が提供されます。
  4. 上記のどれでもない

Answer: C. 各クエリには、位置的に比較される同じ数の列が含まれている必要があります。同じ複合クエリ内の他のクエリで欠落している列の代わりにNULLを使用できます。

49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?

  1. 結果には、JOB_HISTORYテーブルにエントリがある従業員が表示されます
  2. 結果は、JOB_HISTORYにエントリがないが、EMPLOYEESテーブルには存在する従業員を示しています。
  3. AまたはBのいずれか
  4. 上記のどれでもない

Answer: B. MINUSは、最初のクエリには存在するが2番目のクエリには存在しない一意の結果を提供します。

Consider the exhibit given below and answer the questions 50 and 51 that follow:

50.What will be the outcome of the following query?

SELECT AU_DETAILS 
FROM AUDIT
UNION
SELECT AU_DETAILS
FROM AUDIT_YEARLY;
  1. 正常に実行され、重複する値を含む正しい結果が得られます
  2. 正常に実行され、重複する値を除いて正しい結果が得られます
  3. ORAエラーをスローします
  4. 上記のどれでもない

Answer: C. UNION集合演算子を使用する場合、CLOB列またはLONG​​列をSELECT句に含めることはできません。

51.What will be the outcome of the query if UNION is replaced with UNION ALL?

  1. 正常に実行され、重複する値を含む正しい結果が得られます
  2. ORAエラーをスローします
  3. 正常に実行され、重複する値を除いて正しい結果が得られます
  4. 正常に実行されますが、誤った結果が得られます。

Answer: B. .UNION、UNION ALL、INTERSECT、およびMINUS演算子を、LONG列またはCLOB列とともに使用すると、エラーがスローされます。

52.Assume that there are 4 component queries. How many SET operators can be used to combine them in a single compound query?

  1. 1
  2. 2
  3. 4
  4. 3

Answer: D. 使用されるSET演算子はN-1です。ここで、Nはコンポーネントクエリの数です。

53.What are SET operators called owning to the fact that two or more SELECTs are involved based on columns instead of rows when SET operators are used?

  1. 水平結合
  2. デカルト結合
  3. 垂直結合
  4. アウター結合

Answer: C.

54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)

  1. UNIONは、2つのコンポーネントクエリの結果を、重複する値を持つ1つの結果セットに結合します
  2. INTERSECTは、2つのコンポーネントクエリのそれぞれによって返される行のみを返します。
  3. UNIONはコンポーネントクエリからの個別の値を提供し、INTERSECTはコンポーネントクエリからの共通の値を提供します
  4. BとCの両方

Answer: C.

Examine the structure of the EMPLOYEES table and consider the following query. Answer the questions 55 to 60 that follow.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
Query 1
SELECT *
FROM EMPLOYEES 
where department_id = 10
Query 2
SELECT *
FROM EMPLOYEES  E
where E.job_id IN (select first_name  from EMPLOYEES  E1 where E1.job_id = 'CLERK' and E.job_id  = E1.job_id )

55.You need to extract a report where the results from both the queries are displayed. Which of the following operators should be used to get the required results?

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. 上記のどれでもない

Answer: B. UNION ALL重複を並べ替えたり削除したりせずに、2つのクエリから結合された行を返します。

56.You need to display all the duplicate values along with all the values existing in the result set from both the queries. Which of the following SET operators you can use in the above given queries?

  1. INTERSECT
  2. UNION
  3. MINUS
  4. 上記のどれでもない

Answer: D. UNION ALLは、ソートされていない結果を重複して提供します。

57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?

  1. UNION ALLからの結果セットは、重複する値を含めてフィルタリングされます
  2. UNIONからの結果セットは、重複する値を含めてフィルタリングおよびソートされます
  3. UNION ALLからの結果セットはソートされておらず、値が重複しています
  4. UNIONからの結果セットは、重複する値なしでフィルタリングおよびソートされます

Answer: C, D.

58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?

  1. ステートメントは正しいです
  2. UNION ALL演算子は、UNION演算子よりもデータベースに多くのオーバーヘッドがあります
  3. UNIONは重複をソートして排除する必要があるため、追加のオーバーヘッドが発生します
  4. 上記のどれでもない

Answer: A, C. UNIONは、結果セットを並べ替えて重複排除するため、UNIONALLよりも多くのタスクを実行する必要があります。したがって、個別の行が必要でない限り、UNIONALLを使用することをお勧めします。

59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?

  1. 部門10の事務員である従業員のみが表示されます
  2. 部門10にいるすべての従業員が表示されます
  3. すべての店員が表示されます。
  4. 上記のどれでもない

Answer: A. INTERSECTは、クエリ1とクエリ2に存在するレコードを返します。

60.What among the following is the difference between the INTERSECT and the UNION operators?

  1. INTERSECTは 'AND'ブール論理に従い、UNIONは 'OR'ブール論理に従います
  2. UNIONは「OR」ブール論理に従いますが、INTERSECTは「AND」論理に従います
  3. AまたはBのいずれか
  4. 上記のどれでもない

Answer: A.

61.In which of the following SET operators, changing the order of the component queries will change the result set?

  1. UNION
  2. UNION ALL
  3. MINUS
  4. INTERSECT

Answer: C. MINUS 2番目の結果セットに表示されない最初の結果セットの行のみを返し、それらを並べ替えて重複を削除します。

Consider the following query and answer the questions 62 to 66 that follow:

SELECT 4 from dual
INTERSECT
SELECT 1 from dual;

62.What will be the outcome of the given query?

  1. 行なし
  2. 4
  3. 1
  4. NULL

Answer: A. INTERSECT演算子は両方のクエリから共通の結果を取得しないため、行は選択されません。INTERSECT演算子は、クエリ1とクエリ2に存在する共通の結果を提供します。

63.What will be the outcome of the query if the INTERSECT operator is replaced with MINUS operator?

  1. 3
  2. 4
  3. 0
  4. 1

Answer: B. MINUSは、最初のクエリに存在し、2番目のクエリには存在しない結果を提供します。

64.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION operator?

  1. 1

    4

  2. 4

    1

  3. NULL
  4. 0

Answer: A. UNIONは、結果セットに昇順で個別の行を生成します。

65.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION ALL operator?

  1. 4

    1

  2. 0
  3. NULL
  4. 1

    4

Answer: A. UNION ALLは、結果をソートせずにクエリに配置されたとおりに表示します。

66.What will be the outcome if the above query is modified as below?

SELECT 1 from dual
UNION ALL
SELECT 4 from dual;
  1. 1

    4

  2. 4

    1

  3. NULL
  4. 上記のどれでもない

Answer: A.

Examine the JOB_HISTORY_ARCHIVE table structure. It is a backup table for the JOB_HISTORY table with no additional column. Assuming that both the table have dissimilar data, consider the query given below and answer the questions 67 to 70 that follow:

SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
(SELECT * FROM job_history;
MINUS
SELECT * FROM job_history_archive)
UNION ALL
(SELECT * FROM job_history_archive
MINUS
SELECT * FROM job_history;);

67. What will be the outcome of the query given above? (Choose the best answer)

  1. 2つのテーブルで異なる行を返します
  2. 2つのテーブルの共通の行を返します
  3. 2つのテーブルからすべての行を返します
  4. 上記のどれでもない

Answer: A.

68.What can concluded if the above given query yields rows only from JOB_HISTORY table?

  1. これは、JOB_HISTORYにJOB_HISTORY_ARCHIVEテーブルとは異なる2つの行が含まれていることを示しています。
  2. これは、JOB_HISTORYテーブルとJOB_HISTORY_ARCHIVEテーブルの2つの行が同じであることを示しています。
  3. これは、JOB_HISTORY_ARCHIVEにJOB_HISTORYテーブルとは異なる2つの行が含まれていることを示しています。
  4. 上記のどれでもない

Answer: A.

69.What can be said if the above query gives no results?

  1. 2つのテーブルに同じデータがあることを示しています
  2. コンポーネントクエリが間違って配置されていることを示しています
  3. 複合クエリでSET演算子が誤って使用されていることを示しています
  4. 上記のどれでもない

Answer: A.

70.With respect to the query given above, if duplicate records exist in the two tables, which of the following modifications should be made to the above given query?

  1. COUNT(*)
  2. COUNT(*)およびGROUP BY employee_id
  3. COUNT(*)およびORDER BY employee_id
  4. 上記のどれでもない

Answer: B. COUNT(*)を使用して、テーブル間の違いを確認できます。

Consider the following query:

SELECT 1 NUM, 'employee' TEXT FROM dual
UNION
SELECT TO_CHAR(NULL) NUM, 'departments' TEXT FROM dual;

71.What will be the outcome of the query given above?

  1. NUM TEXT
    ---------- -----------
             1 employee
               departments
  2. NUM TEXT
    ---------- -----------
             1 employee
          NULL departments
  3. ORAエラー
  4. NUM TEXT
    ---------- -----------
               departments
             1 employee

Answer: C. ここで、数値1は、「ORA-01790:式は対応する式と同じデータ型である必要があります」というエラーをスローする文字NULLと比較されます。

Consider the following query and answer the questions 72 and 73 that follow:

SELECT months_between (sysdate, to_date('21-MAY-2013','DD-MON-YYYY')) FROM dual
UNION
SELECT TO_date(NULL) NUM FROM dual;

72.What will be the outcome of the query given above? (Assume that the SYSDATE is 1st July, 2013)

  1. 正常に実行され、正しい結果が得られます
  2. 正常に実行されますが、結果はありません
  3. ORAエラーをスローします
  4. 上記のどれでもない

Answer: C. NUMBERとDATEが同じデータ型に属していない場合は失敗します。ここでは、MONTHS_BETWEENによって取得された数値がDATEと比較されているため、エラーが発生します。

73.Assume that the SELECT statement in the 2nd query is modified as below:

SELECT to_number (NULL) NUM FROM dual;

この変更による結果はどうなりますか?

  1. 正常に実行され、正しい結果が得られます
  2. 正常に実行されますが、結果はありません
  3. ORAエラーをスローします
  4. 上記のどれでもない

Answer: A.

74.Examine the table structures and consider the following query:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id  "Employee ID"
FROM employees
UNION
SELECT employee_id  "EMP ID"
FROM job_history;

結果セットに表示される列見出しは次のうちどれですか?

  1. EMP ID
  2. 従業員ID
  3. EMPLOYEE_ID
  4. コンポーネントクエリで列名が同じである必要があるため、ORAエラー。

Answer: B. 複合クエリを構成するクエリの列には異なる名前を付けることができますが、出力結果セットは最初のクエリの列の名前を使用します。

Examine the two table structures given and consider the following query and answer the questions 75 and 76 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id 
FROM employees e
UNION
SELECT employee_id 
FROM job_history j
ORDER BY j.employee_id ;

75.What will be the outcome of the query given above?

  1. 結果は、JOB_HISTORYテーブルの従業員ID順に並べられます。
  2. 結果は、EMPLOYEESテーブルの従業員ID順に並べられます。
  3. 結果の順序はありません
  4. ORAエラー

Answer: D. ORDER BYは、2番目のクエリ列ではなく、最初のクエリの列の名前に基づいて実行する必要があります。

76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?

  1. ORDER BY e.employee_id
  2. j.2で注文する
  3. 1で注文する
  4. 上記のいずれでもない、ORDERBYはクエリでは許可されていません

Answer: C. これはより一般的な仕様であり、Oracleは最初のクエリの最初の列に基づいて順序付けします。

77.Consider the following exhibit and answer the question below:

SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;

上記のクエリの結果はどうなりますか?

  1. 2つのテーブル間の監査ドキュメントを提供します
  2. 実行時にORAエラーが発生します
  3. テーブルAUDITから監査ドキュメントを提供します
  4. 上記のどれでもない

Answer: B. LONG列はSET演算子では使用できません。

78.Consider the query given below:

SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);

上記のクエリの結果はどうなりますか?

  1. 重複して正常に実行されます
  2. 重複することなく正常に実行されます
  3. ORAエラーをスローします
  4. 上記のどれでもない

Answer: C. TABLE式はSET演算子では使用できません。

Examine the two table structures given and consider the following query. Answer the questions 79 and 80 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id , job_id
FROM employees E
UNION
SELECT employee_id , job_id
FROM job_history J
FOR UPDATE OF job_id;

79.What happens when the query is executed?

  1. ORAエラー
  2. Employee_idとjob_id
  3. Employee_id
  4. 上記のどれでもない

Answer: A. FOR UPDATE句は、SET演算子を使用して組み合わせたクエリと一緒に使用することはできません。

80.What will be the outcome of the following query?

SELECT * from employees
UNION
SELECT job_id FROM job_history;;
  1. これは、employeesテーブルのすべての列とjob_historyテーブルのjob_id列のみを提供します。
  2. コンポーネントクエリで列の数が一致する必要があるため、エラーがスローされます
  3. BでもCでもない
  4. 上記のどれでもない

Answer: B.

81.If UNION, UNION ALL, INTERSECT are used in one SQL statement which of the following is true regarding the SQL statement?

  1. UNION、UNION ALLが最初に実行され、次に結果セットがINTERSECTステートメントに送られます。
  2. INTERSECTの実行は、UNIONおよびUNIONALLの実行に先行します。
  3. 実行は、すべての演算子を同時に考慮して、右から左に実行されます。
  4. 実行は、すべての演算子を同時に考慮して、左から右に実行されます。

Answer: D.

82.Consider the query given below and answer the question that follow:

SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;

上記のクエリの実行に関して正しいことは何ですか?

  1. 正常に実行されます。
  2. エラーをスローします
  3. 結果は3になります。
  4. 結果は3fになります

Answer: B. 文字リテラルは一重引用符で囲む必要があります。

83.Which of the following is false for set operators used in SQL queries?

  1. 集合演算子は、LONGデータ型の列で使用する場合に有効です。
  2. 集合演算子は、タイプBLOB、CLOB、BFILE、VARRAY、またはネストした表の列では無効です。
  3. 式を含むselectクエリの場合、order_by_clauseを参照するために列エイリアスを指定する必要があります。
  4. TABLEコレクション式を含むSELECTステートメントでこれらの演算子を使用することはできません。

Answer: A. SET演算子は、LONG、CLOB、およびBLOBデータ型ではサポートされていません。

84.Examine the given table structure and evaluate the following SQL statement:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SELECT employee_id , last_name "Last Name"
FROM employees
WHERE department_id  = 100
UNION
SELECT employee_id  EMPLOYEE_NO, last_name
FROM employees
WHERE department_id  = 101;

上記のクエリに有効なORDERBY句はどれですか?(該当するものをすべて選択してください。)

  1. 2,1で注文
  2. EMPLOYEE_NOによる注文
  3. ORDER BY 2、employee_id
  4. 「EMPLOYEE_NO」による注文

Answer: A, C. ORDER BY句は、最初のクエリで参照された位置または名前で列を参照する必要があります。

85.Which of the following clauses would you use to exclude the column from the 2nd query out of the two queries combined using SET operators?

  1. GROUP BY
  2. ORDER BY
  3. MINUS
  4. UNION

Answer: C.

86.Examine the given table structure as given. What will be the outcome of the below query?

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SELECT distinct department_id 
FROM employees
WHERE salary > ANY (SELECT AVG (salary)
FROM employees
GROUP BY department_id )
UNION
SELECT *
FROM employees
WHERE salary > ANY (SELECT MAX (salary)
FROM employees
GROUP BY department_id );
  1. 平均給与と最大給与を持つすべての部門IDが表示されます
  2. いいえとしてORAエラーをスローします。両方のクエリで選択された列の数が異なります
  3. 平均給与のあるすべての部門IDが表示されます
  4. 給与が最大のすべての部門IDが表示されます

Answer: B. いいえ。列の数は同じである必要があります。

87.What among the following is true about the UNION operator?

  1. UNIONは、SELECTリストの最初の列に対してのみ動作します
  2. UNIONは、コンポーネントクエリのSELECTリストの最初の列を操作します
  3. UNIONは、選択されているすべての列に対して動作します。
  4. 上記のどれでもない

Answer: C. UNIONは、SELECTリストのすべての列を操作し、列を無視しません。

88.You need to display the departments where the employees with the JOB IDs 'SA_REP' or 'ACCOUNTANT' work. Which of the following queries will fetch you the required results? (Consider the given table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_RE'
    UNION
    SELECT department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  2. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_REP'
    UNION ALL 
    Select department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  3. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_REP'
    INTERSECT
    Select department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';
  4. SELECT department_id 
    FROM employees E
    Where job_id = 'SA_REP'
    MINUS
    Select department_id 
    FROM employees E
    Where job_id = 'ACCOUNTANT';

Answer: A.

89.Which of the following statement is true about the ordering of rows in a query which uses SET operator?

  1. 複合クエリを作成する個々のクエリでORDERBYを使用することはできません。
  2. 複合クエリの最後にORDERBY句を追加できます。
  3. UNION ALLによって返される行は、2つのソースクエリで発生する順序になります。
  4. UNIONによって返される行は、すべての列で右から左に並べ替えられます。

Answer: A, B, C.

90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?

  1. 右外部結合
  2. 左外部結合
  3. EQUI-JOIN
  4. 完全外部結合

Answer: D.

Answer the related questions 91 and 92 given below. Consider the table structures as given here:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)

91.You need to find the job IDs which do not have any JOB history logged for them. Which of the following queries will work? (Consider the given table structures)

  1. SELECT job_id
    FROM employees 
    UNION ALL
    SELECT job_id
    FROM job_history;;
  2. SELECT job_id
    FROM employees 
    MINUS
    Select job_id
    FROM job_history;;
  3. SELECT job_id
    FROM employees 
    UNION
    SELECT job_id
    FROM job_history;;
  4. 上記のどれでもない

Answer: B.

92.Consider the following query:

SELECT distinct  job_id
FROM employees 
NATURAL JOIN job_history ;

次のクエリのうち、上記のクエリと同じものはどれですか?

  1. SELECT job_id
    FROM employees
    UNION 
    SELECT   job_id
    FROM job_history;;
  2. SELECT job_id
    FROM employees
    UNION ALL
    SELECT job_id
    FROM job_history;;
  3. SELECT job_id
    FROM employees
    MINUS
    Select job_id
    FROM job_history;;
  4. SELECT job_id
    FROM employees
    INTERSECT 
    SELECT job_id
    FROM job_history;;

Answer: A.

Examine the table structures given here. Consider the query given below and answer the related questions 93 to 97 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
SELECT job_id
FROM employees
UNION ALL
SELECT job_id
FROM job_history;;

93.If the EMPLOYEES table contains 5 records and the JOB_HISTORY contains 3 records, how many records will be obtained from the below query?

  1. 4
  2. 3
  3. 0
  4. 8

Answer: D. UNION ALL重複を並べ替えたり削除したりせずに、2つのクエリから結合された行を返します。

94.If the UNION ALL operator is replaced with UNION operator, how many records will be obtained? (Assume there are 6 distinct values in both the tables)

  1. 5
  2. 3
  3. 2
  4. 6

Answer: D. UNION 2つのクエリから結合された行を返し、それらを並べ替えて重複を削除します。

95.If the UNION ALL operator is replaced with MINUS operator, how many records will be obtained? (Assume there are 3 distinct values in EMPLOYEES and 2 in JOB_HISTORY)

  1. 3
  2. 2
  3. 1
  4. 0

Answer: C. MINUS 2番目の結果セットに表示されない最初の結果セットの行のみを返し、それらを並べ替えて重複を削除します。

96.If the UNION ALL operator is replaced with INTERSECT operator, how many records will be obtained? (Assume there are 3 values common between the two tables)

  1. 8
  2. 6
  3. 3
  4. 2

Answer: C. INTERSECT両方のクエリの結果セットで発生する行のみを返し、それらを並べ替えて重複を削除します。

97.Consider the following query:

1.select job_id
2. from employees
3.ORDER BY department_id 
4.UNION ALL
5.select job_id
6.FROM job_history;
7.ORDER BY department_id ;

上記のクエリはエラーを生成します。上記のクエリのどの行がエラーを生成しますか?

  1. 3
  2. 7
  3. 2
  4. エラーは発生しません

Answer: A. ORDER BYは、複合クエリの最後にのみ表示され、コンポーネントクエリには表示されません。

98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?

  1. UNION ALL
  2. マイナスすべて
  3. すべてを交差させる
  4. すべてを除く

Answer: B, C, D.

99.You need to find out the common JOB IDs (excluding duplicates) in the departments 100 and 200. Which query will you fire to get the required results? (Consider the table structure as given)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT job_id from employee
    WHERE department_id  = 100
    INTERSECT 
    SELECT job_id from employee
    WHERE department_id  = 200;
  2. SELECT job_id from employee
    WHERE department_id  = 100
    UNION ALL
    SELECT job_id from employee
    WHERE department_id  = 200;
  3. SELECT job_id from employee
    WHERE department_id  = 100
    MINUS
    Select job_id from employee
    WHERE department_id  = 200;
  4. SELECT job_id from employee
    WHERE department_id  = 100
    INTERSECT ALL
    Select job_id from employee
    WHERE department_id  = 200;

Answer: A.

100.If a compound query contains both a MINUS and an INTERSECT operator, which will be applied first? (Choose the best answer.)

  1. INTERSECTはMINUSよりも優先順位が高いため、INTERSECT。
  2. MINUSはINTERSECTよりも優先順位が高いため、MINUS。
  3. 優先順位は、指定された順序によって決まります。
  4. 複合クエリにMINUSとINTERSECTの両方を含めることはできません。

Answer: C. すべての集合演算子の優先順位は等しいため、優先順位はそれらが発生する順序によって決定されます。