Utilisation des questions sur les opérateurs de configuration

1.Which SET operator does the following figure indicate?

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

Answer: A. Les opérateurs d'ensemble sont utilisés pour combiner les résultats de deux instructions SELECT (ou plus). Les opérateurs d'ensemble valides dans Oracle 11g sont UNION, UNION ALL, INTERSECT et MINUS. Lorsqu'il est utilisé avec deux instructions SELECT, l'opérateur set UNION renvoie les résultats des deux requêtes. Cependant, s'il y a des doublons, ils sont supprimés et l'enregistrement dupliqué n'est répertorié qu'une seule fois. set operator.INTERSECT répertorie uniquement les enregistrements renvoyés par les deux requêtes; L'opérateur de jeu MINUS supprime les résultats de la deuxième requête de la sortie s'ils sont également trouvés dans les résultats de la première requête. Les opérations d'ensembles INTERSECT et MINUS produisent des résultats sans duplication.

2.Which SET operator does the following figure indicate?

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

Answer: B. UNION ALL Renvoie les lignes combinées de deux requêtes sans trier ni supprimer les doublons.

3.Which SET operator does the following figure indicate?

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

Answer: C. INTERSECT Renvoie uniquement les lignes présentes dans les jeux de résultats des deux requêtes, en les triant et en supprimant les doublons.

4.Which SET operator does the following figure indicate?

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

Answer: D. MOINS Renvoie uniquement les lignes du premier jeu de résultats qui n'apparaissent pas dans le deuxième jeu de résultats, en les triant et en supprimant les doublons.

5.What is true about SET operators?

  1. Ils changent les valeurs des lignes
  2. Ils combinent les résultats de seulement deux requêtes de composants en un seul résultat
  3. Ils combinent les résultats de 10 requêtes de composants en deux ensembles de résultats.
  4. Ils combinent les résultats de deux ou plusieurs requêtes de composants en un seul résultat

Answer: D. Les opérateurs Set sont utilisés pour combiner les résultats de deux (ou plus) instructions SELECT. Les opérateurs d'ensemble valides dans Oracle 11g sont UNION, UNION ALL, INTERSECT et MINUS.

6.What are the queries containing SET operators called?

  1. Sub-queries
  2. Sous-requêtes associées
  3. Requêtes GROUP BY
  4. Requêtes composées

Answer: D.

7.What is true about the UNION operator?

  1. Il renvoie les lignes des requêtes combinées avec les valeurs NULL
  2. Il renvoie des lignes pour les requêtes combinées après avoir éliminé les doublons
  3. Il renvoie des lignes pour les requêtes combinées avec des valeurs en double
  4. Il renvoie des lignes pour les requêtes combinées en ignorant les valeurs NULL

Answer: B. UNION Renvoie les lignes combinées de deux requêtes, en les triant et en supprimant les doublons.

8.What is true about the UNION ALL operator?

  1. Il renvoie les lignes des requêtes combinées avec les valeurs NULL
  2. Il renvoie des lignes pour les requêtes combinées après avoir éliminé les doublons
  3. Il renvoie des lignes pour les requêtes combinées avec des valeurs en double
  4. Il renvoie des lignes pour les requêtes combinées en ignorant les valeurs NULL

Answer: C. UNION ALL Renvoie les lignes combinées de deux requêtes sans trier ni supprimer les doublons.

9.What is true about the INTERSECT operator?

  1. Il renvoie les lignes des requêtes combinées avec les valeurs NULL
  2. Il renvoie des lignes pour les requêtes combinées après avoir éliminé les doublons
  3. Il renvoie les lignes communes des requêtes combinées
  4. Aucune de ces réponses

Answer: C. INTERSECT Renvoie uniquement les lignes présentes dans les jeux de résultats des deux requêtes, en les triant et en supprimant les doublons.

10.What is true about the MINUS operator?

  1. Il renvoie les lignes de la première requête mais pas de la deuxième requête
  2. Il renvoie des lignes pour la deuxième requête mais pas à partir de la première requête
  3. Il renvoie des lignes en double pour les requêtes combinées
  4. Il renvoie des lignes pour les requêtes combinées en ignorant les valeurs NULL

Answer: A. MOINS Renvoie uniquement les lignes du premier jeu de résultats qui n'apparaissent pas dans le deuxième jeu de résultats, en les triant et en supprimant les doublons.

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

  1. UNION, UNION ALL, INTERSECT et MOINS
  2. MOINS, UNION, UNION ALL et INTERSECT
  3. INTERSECT, MOINS, UNION TOUS, UNION
  4. Priorité égale

Answer: D. Les opérateurs SET ont une priorité égale.

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

  1. De gauche à droite
  2. De droite à gauche
  3. Évaluation aléatoire
  4. De haut en bas

Answer: A, D. En supposant qu'il n'y a pas de regroupement de requêtes utilisant des parenthèses, les opérateurs SET seront évalués de haut en bas et de gauche à droite horizontalement.

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

  1. Lorsque INTERSECT est utilisé avec d'autres opérateurs d'ensemble
  2. Lorsque UNION est utilisé avec UNION ALL
  3. Lorsque MINUS est utilisé pour les requêtes
  4. Aucune de ces réponses

Answer: A. L'utilisation de parenthèses changera explicitement l'ordre d'évaluation lorsque INTERSECT est utilisé avec d'autres opérateurs.

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

  1. Il n'y a aucune restriction sur les colonnes sélectionnées
  2. Les colonnes, expressions utilisées dans la clause SELECT doivent correspondre en nombre dans les requêtes combinées
  3. Les colonnes, expressions utilisées dans la clause SELECT doivent être N dans la première requête et N-1 dans les requêtes combinées suivantes
  4. B et C

Answer: B. Tous les combinés devraient avoir le même non. de colonnes lors de l'utilisation des opérateurs SET. Les colonnes correspondantes dans les requêtes qui constituent une requête composée doivent appartenir au même groupe de types de données.

15.What is true about the SET operators?

  1. La clause SELECT doit avoir le même nombre de colonnes, les types de données peuvent être différents
  2. Les opérateurs SET ne peuvent être utilisés que pour combiner deux requêtes
  3. Le type de données de chaque colonne de la deuxième requête doit correspondre au type de données de sa colonne correspondante dans la première requête.
  4. Aucune de ces réponses

Answer: C. Tous les combinés devraient avoir le même non. de colonnes lors de l'utilisation des opérateurs SET. Les colonnes correspondantes dans les requêtes qui constituent une requête composée doivent appartenir au même groupe de types de données.

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

  1. Dans chacune des requêtes combinées
  2. Dans la première requête uniquement
  3. À la toute fin de la requête composée
  4. Aucune de ces réponses

Answer: C. Si la clause ORDER BY est utilisée entre l'une des requêtes jointes à l'aide des opérateurs SET, elle lèvera une erreur ORA.

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

  1. Ces requêtes doivent avoir le même non. et le type de données des colonnes dans leur clause SELECT.
  2. Le non. de colonnes utilisées dans la requête de clause WHERE et le SELECT principal peuvent être différents
  3. Le non. des colonnes utilisées dans la clause WHERE doivent être identiques, le type de données peut être différent
  4. Aucune de ces réponses

Answer: A. Tous les combinés devraient avoir le même non. de colonnes lors de l'utilisation des opérateurs SET. Les colonnes correspondantes dans les requêtes qui constituent une requête composée doivent appartenir au même groupe de types de données.

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

  1. La colonne de la deuxième requête doit être dans le même groupe de types de données que la colonne correspondante de la première requête
  2. Si une colonne de la 1ère requête est un NUMBER, la colonne correspondante de la 2ème requête doit être un VARCHAR2
  3. Si une colonne de la 1ère requête est un NUMBER, la colonne correspondante de la 2ème requête doit également être NUMBER.
  4. Aucune de ces réponses

Answer: A, C.

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

  1. Les opérateurs SET ne peuvent pas être utilisés dans les sous-requêtes
  2. Les opérateurs SET ne peuvent être utilisés que dans la clause WHERE
  3. ORDER BY peut être utilisé pour toutes les requêtes combinées par un opérateur SET
  4. Les opérateurs SET peuvent être utilisés dans les sous-requêtes

Answer: D.

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

  1. L'ordre d'utilisation des opérateurs SET peut être modifié pour changer la priorité
  2. La priorité égale ne peut pas être modifiée
  3. Les parenthèses peuvent être utilisées pour modifier la priorité
  4. Aucune de ces réponses

Answer: C. Les parenthèses peuvent être utilisées pour regrouper les requêtes spécifiques afin de modifier explicitement la priorité. Les parenthèses sont préférées aux autres opérateurs SET lors de l'exécution.

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

  1. Aucun opérateur SET n'affiche les valeurs en double
  2. Tous les opérateurs SET peuvent afficher des valeurs en double
  3. Seul l'opérateur UNION ALL affiche les valeurs en double
  4. Aucune de ces réponses

Answer: C. UNION, INTERSECT et MINUS éliminent automatiquement les valeurs en double

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. Il affichera des identifiants de département distincts contenus conjointement dans le tableau EMPLOYEES et DEPARTMENTS
  2. Cela jettera une erreur ORA
  3. Aucune ligne sélectionnée
  4. Aucune de ces réponses

Answer: A. UNION Renvoie les lignes combinées de deux requêtes, en les triant et en supprimant les doublons.

23.What is true about the query given above?

  1. Cette requête renvoie une erreur ORA
  2. Il s'exécute avec succès mais ne donne aucun résultat
  3. Les requêtes provenant de différentes tables ne peuvent pas être utilisées avec les opérateurs SET
  4. La requête s'exécute avec succès et donne les résultats comme prévu

Answer: D. Une requête composée est une requête composée de plusieurs requêtes utilisant différentes tables.

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

  1. Descending
  2. Ascending
  3. A ou B
  4. Tout ce qui précède

Answer: B. Une requête composée renverra par défaut des lignes triées sur toutes les colonnes, de gauche à droite dans l'ordre croissant. La seule exception est UNION ALL, où les lignes ne seront pas triées. Le seul endroit où une clause ORDER BY est autorisée est à la fin de la requête composée.

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

  1. La sortie aura le type de données VARCHAR2 de longueur égale
  2. La sortie aura un type de données CHAR de longueur égale
  3. La sortie aura un type de données CHAR de différentes longueurs
  4. La sortie aura NUMBER type de données de longueur égale

Answer: B. Les colonnes des requêtes qui composent une requête composée peuvent avoir des noms différents, mais le jeu de résultats de sortie utilisera les noms des colonnes de la première requête. Les colonnes correspondantes dans les requêtes qui constituent une requête composée doivent appartenir au même groupe de types de données.

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

  1. La sortie aura le type de données VARCHAR2 de longueur égale
  2. La sortie aura un type de données CHAR de longueur égale
  3. La sortie aura un type de données CHAR de différentes longueurs
  4. La sortie aura le type de données VARCHAR2 avec la longueur de la plus grande valeur CHAR

Answer: D. Bien que les listes de colonnes sélectionnées ne soient pas nécessairement du même type de données, elles doivent appartenir au même groupe de types de données. Le jeu de résultats de la requête composée aura des colonnes avec le niveau de précision le plus élevé.

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

  1. La sortie aura le type de données VARCHAR2.
  2. La sortie aura un type de données CHAR de longueur égale
  3. La sortie aura un type de données CHAR de différentes longueurs
  4. La sortie aura le type de données VARCHAR2 avec la longueur de la plus grande valeur CHAR

Answer: A. Bien que les listes de colonnes sélectionnées ne soient pas nécessairement du même type de données, elles doivent appartenir au même groupe de types de données. Le jeu de résultats de la requête composée aura des colonnes avec le niveau de précision le plus élevé.

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

  1. Il y aura une priorité égale des valeurs numériques, des opérateurs
  2. Les valeurs de retour seront déterminées par la priorité numérique
  3. Les valeurs renvoyées seront du type de données NUMBER
  4. Aucune de ces réponses

Answer: B, C. Bien que les listes de colonnes sélectionnées ne soient pas nécessairement du même type de données, elles doivent appartenir au même groupe de types de données. Le jeu de résultats de la requête composée aura des colonnes avec le niveau de précision le plus élevé.

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

  1. Oracle les convertira implicitement et retournera un résultat de type de données VARCHAR2
  2. Oracle les convertira implicitement et retournera un résultat de type de données NUMBER
  3. Une erreur ORA est générée
  4. Aucune de ces réponses

Answer: C. Oracle ne convertit pas les types de données implicitement.

30.What is true about the UNION operator?

  1. Il élimine les valeurs en double en ignorant les valeurs NULL
  2. Il renvoie des valeurs en double en ignorant les valeurs NULL
  3. Il renvoie des valeurs en double, y compris des valeurs NULL
  4. Il élimine les valeurs en double et n'ignore pas les valeurs NULL

Answer: D. Les valeurs NULL ne sont pas ignorées lorsque l'opérateur UNION est utilisé

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

  1. Les noms des colonnes doivent être identiques
  2. Les noms et le type de données des colonnes doivent être identiques
  3. Les noms des colonnes ne doivent pas nécessairement être identiques
  4. Aucune de ces réponses

Answer: C. Les colonnes des requêtes qui composent une requête composée peuvent avoir des noms différents, mais le jeu de résultats de sortie utilisera les noms des colonnes de la première requête.

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 Renvoie les lignes combinées de deux requêtes, en les triant et en supprimant les doublons.

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

  1. Il affiche les détails de l'emploi actuel et précédent des employés deux fois
  2. Il affiche les détails de l'emploi actuel et précédent des employés une seule fois
  3. A ou B
  4. Aucune de ces réponses

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. Aucune de ces réponses

Answer: B. UNION Renvoie les lignes combinées de deux requêtes, en les triant et en supprimant les doublons. La duplicité est mesurée par la combinaison de colonnes et non par la colonne individuelle séparément.

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 rangées
  2. 3 rangées
  3. Pas de lignes
  4. Erreur ORA

Answer: B.

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

  1. Il y a des valeurs en double pour les codes de travail
  2. La requête s'exécute mais les résultats produits sont inattendus
  3. Il n'y a pas de valeurs en double pour les départements
  4. Aucune de ces réponses

Answer: C. La combinaison des codes de poste et des services étant unique, aucun doublon n'est obtenu.

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

  1. Décroissant du numéro d'employé
  2. Décroissant sur l'ID de tâche
  3. Croissant sur l'ID d'employé
  4. Croissant sur l'ID de service

Answer: C. Le tri par défaut sera croissant en fonction de la première colonne, c'est-à-dire: ID de l'employé dans ce cas. Cependant, ce comportement peut être modifié en plaçant une seule clause ORDER BY à la fin.

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

  1. UNION
  2. UNION TOUT
  3. MINUS
  4. Aucune de ces réponses

Answer: B. UNION ALL n'élimine pas les valeurs en double.

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

  1. Il n'y a pas de différence
  2. UNION ALL affiche également les valeurs en double
  3. La sortie dans le cas de UNION ALL n'est pas triée par défaut
  4. Aucune de ces réponses

Answer: B, C. Lorsqu'il est utilisé avec deux instructions SELECT, l'opérateur set UNION renvoie les résultats des deux requêtes. Toutefois, s'il existe des doublons, ils sont supprimés et l'enregistrement dupliqué n'est répertorié qu'une seule fois. Pour inclure les doublons dans les résultats, utilisez l'opérateur d'ensemble UNION ALL

40.What is true about the INTERSECT operator?

  1. Le nombre de colonnes et les types de données des colonnes dans les requêtes de composants doivent être identiques
  2. Les noms des colonnes et les types de données des colonnes dans les requêtes de composants doivent être identiques
  3. Les deux, A et B
  4. Aucune de ces réponses

Answer: A. Il s'agit d'une caractéristique commune de critères de propriété des opérateurs SET.

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

  1. Le résultat est altéré
  2. Le résultat reste le même
  3. Le tri change lors de l'altération
  4. Aucune de ces réponses

Answer: B.

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

  1. Il ignore les valeurs NULL
  2. Il n'ignore pas les valeurs NULL
  3. Il renvoie toutes les lignes de la première requête de composant
  4. Aucune de ces réponses

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. Aucune de ces réponses

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. Le résultat sera le même
  2. Le résultat sera différent
  3. Le résultat sera le même mais l'ordre sera différent
  4. Aucune de ces réponses

Answer: A. Le résultat peut être interprété comme - les employés qui ont travaillé avec le même titre de poste dans le même service.

45.What is true about the MINUS operator?

  1. Il renvoie toutes les lignes de toutes les requêtes de composants
  2. Il renvoie uniquement les lignes communes de toutes les requêtes de composants
  3. Il renvoie toutes les lignes de la première requête et non des requêtes suivantes
  4. Il renvoie toutes les lignes distinctes sélectionnées par la première requête, mais non présentes dans les requêtes suivantes

Answer: D. L'opérateur de jeu MINUS supprime les résultats de la deuxième requête de la sortie s'ils sont également trouvés dans les résultats de la première requête

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

  1. Ils doivent être identiques, le type de données peut être différent mais ils doivent appartenir au même groupe de types de données.
  2. Ils devraient être les mêmes avec les noms des colonnes
  3. Les deux, A et B
  4. Aucune de ces réponses

Answer: A. Caractéristique commune des opérateurs 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. Il génère une erreur car TO_CHAR (NULL) ne peut pas être utilisé
  2. Il s'exécute avec succès et donne les valeurs de l'id, du prénom et du rôle actuel des employés, y compris les lignes en double
  3. Il s'exécute avec succès et donne les valeurs de l'identifiant des employés, du prénom et de tous les emplois occupés par les employés, à l'exception des lignes en double
  4. Aucune de ces réponses

Answer: C. Chaque requête doit contenir le même nombre de colonnes, qui sont comparées en position. NULL peut être remplacé à la place de la colonne manquante dans l'autre requête au sein de la même requête composée.

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

  1. Le résultat montre les employés qui ont une entrée dans la table JOB_HISTORY
  2. Le résultat montre les employés qui n'ont pas d'entrée dans JOB_HISTORY, mais qui sont présents dans la table EMPLOYEES
  3. Soit A ou B
  4. Aucune de ces réponses

Answer: B. MINUS donne les résultats uniques qui sont présents dans la première requête mais pas dans la seconde requête.

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. Il s'exécute avec succès en donnant les bons résultats, y compris les valeurs en double
  2. Il s'exécute avec succès en donnant les résultats corrects à l'exclusion des valeurs en double
  3. Il jette une erreur ORA
  4. Aucune de ces réponses

Answer: C. Les colonnes CLOB ou LONG ne peuvent pas être dans la clause SELECT lors de l'utilisation des opérateurs d'ensemble UNION.

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

  1. Il s'exécutera avec succès en donnant les résultats corrects, y compris les valeurs en double
  2. Il jette une erreur ORA
  3. Il s'exécutera avec succès en donnant les résultats corrects à l'exclusion des valeurs en double
  4. Il s'exécute avec succès mais donne des résultats incorrects.

Answer: B. Les opérateurs .UNION, UNION ALL, INTERSECT et MINUS lorsqu'ils sont utilisés avec une colonne LONG ou CLOB génèrent une erreur.

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. L'opérateur SET à utiliser sera N-1 où N est le nombre de requêtes de composants.

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. Jointures horizontales
  2. Jointures cartésiennes
  3. Jointures verticales
  4. Jointures externes

Answer: C.

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

  1. UNION combine les résultats de deux requêtes de composants en un seul jeu de résultats avec des valeurs en double
  2. INTERSECT renvoie uniquement les lignes renvoyées par chacune des deux requêtes de composant
  3. UNION donne les valeurs distinctes des requêtes de composants, INTERSECT donne les valeurs communes des requêtes de composants
  4. B et 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 TOUT
  3. INTERSECT
  4. Aucune de ces réponses

Answer: B. UNION ALL Renvoie les lignes combinées de deux requêtes sans trier ni supprimer les doublons.

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. Aucune de ces réponses

Answer: D. UNION ALL donnera les résultats non triés avec des doublons.

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

  1. L'ensemble de résultats de UNION ALL est filtré, y compris les valeurs en double
  2. L'ensemble de résultats d'UNION est filtré et trié, y compris les valeurs en double
  3. L'ensemble de résultats de UNION ALL n'est pas trié et contient des valeurs en double
  4. L'ensemble de résultats d'UNION est filtré et trié sans valeurs en double

Answer: C, D.

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

  1. La déclaration est correcte
  2. L'opérateur UNION ALL a plus de frais généraux sur la base de données que l'opérateur UNION
  3. UNION doit trier et éliminer les doublons, ce qui entraîne des frais généraux supplémentaires
  4. Aucune de ces réponses

Answer: A, C. UNION doit effectuer plus de tâches que UNION ALL car il trie et déduplique les jeux de résultats. Par conséquent, il est recommandé que, sauf si des lignes distinctes sont requises, UNION ALL doit être utilisé.

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

  1. Il n'affichera que les employés qui sont des commis du département 10
  2. Il affichera tous les employés qui sont dans le département 10
  3. Il affichera tous les commis.
  4. Aucune de ces réponses

Answer: A. INTERSECT renvoie les enregistrements présents dans la requête 1 ET la requête 2.

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

  1. INTERSECT suit la logique booléenne 'AND', UNION suit la logique booléenne 'OR'
  2. UNION suit la logique booléenne 'OR', alors qu'INTERSECT suit la logique 'AND'
  3. Soit A ou B
  4. Aucune de ces réponses

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 TOUT
  3. MINUS
  4. INTERSECT

Answer: C. MOINS Renvoie uniquement les lignes du premier jeu de résultats qui n'apparaissent pas dans le deuxième jeu de résultats, en les triant et en supprimant les doublons.

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. Pas de lignes
  2. 4
  3. 1
  4. NULL

Answer: A. Aucune ligne ne sera sélectionnée car l'opérateur INTERSECT n'obtiendra aucun résultat commun des deux requêtes - Les opérateurs INTERSECT donnent des résultats communs présents dans la requête 1 ET la requête 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 donne les résultats qui sont présents dans la première requête et non présents dans la deuxième requête.

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 produira des lignes distinctes dans le jeu de résultats dans l'ordre croissant.

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 affiche les résultats tels qu'ils sont positionnés dans la requête sans les trier.

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. Aucune de ces réponses

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. Il renverra les lignes qui sont différentes dans les deux tables
  2. Il renverra les lignes communes dans les deux tables
  3. Il renverra toutes les lignes des deux tables
  4. Aucune de ces réponses

Answer: A.

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

  1. Il montre que JOB_HISTORY contient deux lignes différentes de la table JOB_HISTORY_ARCHIVE
  2. Il montre que deux lignes sont identiques dans les tables JOB_HISTORY et JOB_HISTORY_ARCHIVE
  3. Il montre que JOB_HISTORY_ARCHIVE contient deux lignes différentes de la table JOB_HISTORY
  4. Aucune de ces réponses

Answer: A.

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

  1. Il montre que les deux tableaux ont les mêmes données
  2. Cela montre que les requêtes de composants sont mal placées
  3. Cela montre que les opérateurs SET sont mal utilisés dans la requête composée
  4. Aucune de ces réponses

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 (*) et GROUP BY employee_id
  3. COUNT (*) et ORDER BY employee_id
  4. Aucune de ces réponses

Answer: B. COUNT (*) peut être utilisé pour voir la différence entre les tables.

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. Erreur ORA
  4. NUM TEXT
    ---------- -----------
               departments
             1 employee

Answer: C. Ici, le numérique 1 est comparé à un caractère NULL qui renvoie l'erreur "ORA-01790: l'expression doit avoir le même type de données que l'expression correspondante".

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. Il s'exécute avec succès avec des résultats corrects
  2. Il s'exécute avec succès mais sans résultats
  3. Il jette une erreur ORA
  4. Aucune de ces réponses

Answer: C. NUMBER et DATE n'appartiennent pas au même type de données échouent. Ici, un nombre obtenu par MONTHS_BETWEEN est comparé à une DATE et donc l'erreur.

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

SELECT to_number (NULL) NUM FROM dual;

Quel sera le résultat de ce changement?

  1. Il s'exécute avec succès avec des résultats corrects
  2. Il s'exécute avec succès mais sans résultats
  3. Il jette une erreur ORA
  4. Aucune de ces réponses

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;

Lequel des en-têtes de colonne ci-dessous s'affichera dans l'ensemble de résultats?

  1. ID EMP
  2. ID d'employé
  3. EMPLOYEE_ID
  4. Erreur ORA car les noms de colonne doivent être identiques dans les requêtes de composant.

Answer: B. Les colonnes des requêtes qui composent une requête composée peuvent avoir des noms différents, mais le jeu de résultats de sortie utilisera les noms des colonnes de la première requête.

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. Les résultats seront classés par ID d'employé de la table JOB_HISTORY
  2. Les résultats seront triés en fonction de l'ID employé de la table EMPLOYEES
  3. Il n'y aura pas de classement des résultats
  4. ORA error

Answer: D. The ORDER BY should be done based on the names of the columns from the first query and not from the 2nd query columns.

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. ORDER BY j.2
  3. ORDER BY 1
  4. None of the above, ORDER BY is not allowed in the query

Answer: C. This is a more generic specification and Oracle will order based on the first column of the first query.

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

SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;

What will be the outcome of the above given query?

  1. It gives the Audit documents between the two tables
  2. It gives an ORA error on execution
  3. It gives the Audit documents from the table AUDIT
  4. None of the above

Answer: B. LONG columns cannot be used with SET operators.

78.Consider the query given below:

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

What will be the outcome of the query given above?

  1. It executes successfully with duplicates
  2. It executes successfully without duplicates
  3. It throws an ORA error
  4. None of the above

Answer: C. TABLE expressions cannot be used with SET operators.

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 error
  2. Employee_id and job_id
  3. Employee_id
  4. None of the above

Answer: A. The FOR UPDATE clause cannot be used with the query combined using the SET operators.

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

SELECT * from employees
UNION
SELECT job_id FROM job_history;;
  1. It will give all the columns from the employees tables and only the job_id column from the job_history table
  2. It will throw an error as the number of columns should match in the component queries
  3. Neither B or C
  4. None of the above

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 will be executed first and then the result set will go for the INTERSECT statement.
  2. The execution of INTERSECT will precede the UNION and UNION ALL execution.
  3. The execution will be done from right to left taking into consideration all the operators at the same time.
  4. The execution will be done from left to right taking into consideration all the operators at the same time.

Answer: D.

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

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

What is true regarding the execution of the query given above?

  1. It executes successfully.
  2. It throws an error
  3. It gives the result 3.
  4. It gives the result 3f

Answer: B. Character literals must be enclosed within single quotes.

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

  1. The set operators are valid when used on columns with the LONG datatype.
  2. The set operators are not valid on columns of type BLOB, CLOB, BFILE, VARRAY, or nested table.
  3. In order for the select query containing an expression, a column alias should be provided in order to refer it to the order_by_clause.
  4. You cannot use these operators in SELECT statements containing TABLE collection expressions.

Answer: A. Les opérateurs SET ne sont pas pris en charge pour les types de données LONG, CLOB et 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;

Quelles clauses ORDER BY sont valides pour la requête ci-dessus? (Choisissez tout ce qui correspond.)

  1. COMMANDER PAR 2,1
  2. COMMANDE PAR EMPLOYEE_NO
  3. ORDER BY 2, id_employé
  4. COMMANDER PAR "EMPLOYEE_NO"

Answer: A, C. La clause ORDER BY doit référencer la colonne par sa position ou le nom référencé par la première requête.

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. PAR GROUPE
  2. COMMANDÉ PAR
  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. Il affichera tous les identifiants de service qui ont les salaires moyens et les salaires maximums
  2. Il lancera une erreur ORA comme non. des colonnes sélectionnées à la fois dans la requête est différente
  3. Il affichera tous les identifiants de service qui ont les salaires moyens
  4. Il affichera tous les identifiants de service qui ont les salaires maximums

Answer: B. Le non. des colonnes doivent être identiques.

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

  1. UNION ne fonctionne que sur la première colonne de la liste SELECT
  2. UNION opère sur les premières colonnes des listes SELECT dans les requêtes de composants
  3. UNION opère sur toutes les colonnes sélectionnées.
  4. Aucune de ces réponses

Answer: C. UNION opère sur toutes les colonnes de la liste SELECT et n'ignore aucune colonne.

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. Il n'est pas possible d'utiliser ORDER BY dans les requêtes individuelles qui créent une requête composée.
  2. Une clause ORDER BY peut être ajoutée à la fin d'une requête composée.
  3. Les lignes renvoyées par UNION ALL seront dans l'ordre dans lequel elles apparaissent dans les deux requêtes source.
  4. Les lignes renvoyées par une UNION seront triées sur toutes leurs colonnes, de droite à gauche.

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. JOINTURE EXTÉRIEURE DROITE
  2. JOINTURE EXTERNE GAUCHE
  3. EQUI-JOIN
  4. JOINTURE EXTÉRIEURE COMPLÈTE

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. Aucune de ces réponses

Answer: B.

92.Consider the following query:

SELECT distinct  job_id
FROM employees 
NATURAL JOIN job_history ;

Laquelle des requêtes suivantes est identique à la requête ci-dessus?

  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 Renvoie les lignes combinées de deux requêtes sans trier ni supprimer les doublons.

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 Renvoie les lignes combinées de deux requêtes, en les triant et en supprimant les doublons.

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. MOINS Renvoie uniquement les lignes du premier jeu de résultats qui n'apparaissent pas dans le deuxième jeu de résultats, en les triant et en supprimant les doublons.

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 Renvoie uniquement les lignes présentes dans les jeux de résultats des deux requêtes, en les triant et en supprimant les doublons.

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 ;

La requête ci-dessus génère une erreur. Quelle ligne de la requête ci-dessus génère une erreur?

  1. 3
  2. 7
  3. 2
  4. Aucune erreur n'est obtenue

Answer: A. ORDER BY ne doit apparaître qu'à la fin de la requête composée et non dans les requêtes de composant.

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

  1. UNION TOUT
  2. MOINS TOUT
  3. INTERSECTER TOUT
  4. SAUF TOUT

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, car INTERSECT a une priorité plus élevée que MOINS.
  2. MINUS, car MINUS a une priorité plus élevée que INTERSECT.
  3. La priorité est déterminée par l'ordre dans lequel ils sont spécifiés.
  4. Il n'est pas possible pour une requête composée d'inclure à la fois MINUS et INTERSECT.

Answer: C. Tous les opérateurs d'ensemble ont la même priorité, donc la priorité est déterminée par la séquence dans laquelle ils se produisent.