Utilizzo delle domande sugli operatori di gruppo
1.Which SET operator does the following figure indicate?
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/union.jpg)
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: A. Gli operatori set vengono utilizzati per combinare i risultati di due (o più) istruzioni SELECT. Gli operatori set validi in Oracle 11g sono UNION, UNION ALL, INTERSECT e MINUS. Quando viene utilizzato con due istruzioni SELECT, l'operatore di gruppo UNION restituisce i risultati di entrambe le query.Tuttavia, se sono presenti duplicati, vengono rimossi e il record duplicato viene elencato una sola volta. Per includere duplicati nei risultati, utilizzare UNION ALL set operator.INTERSECT elenca solo i record restituiti da entrambe le query; l'operatore di gruppo MINUS rimuove i risultati della seconda query dall'output se si trovano anche nei risultati della prima query. Le operazioni sugli insiemi INTERSECT e MINUS producono risultati non duplicati.
2.Which SET operator does the following figure indicate?
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/union_all.jpg)
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: B. UNION ALL Restituisce le righe combinate di due query senza ordinare o rimuovere i duplicati.
3.Which SET operator does the following figure indicate?
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/intersect.jpg)
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: C. INTERSECT Restituisce solo le righe che si trovano nei set di risultati di entrambe le query, ordinandole e rimuovendo i duplicati.
4.Which SET operator does the following figure indicate?
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/minus.jpg)
- UNION
- UNION ALL
- INTERSECT
- MINUS
Answer: D. MENO Restituisce solo le righe nel primo set di risultati che non compaiono nel secondo set di risultati, ordinandole e rimuovendo i duplicati.
5.What is true about SET operators?
- Cambiano i valori delle righe
- Combinano i risultati di solo due query di componenti in un unico risultato
- Combinano i risultati di 10 query di componenti in due set di risultati.
- Combinano i risultati di due o più query di componenti in un unico risultato
Answer: D. Gli operatori di gruppo vengono utilizzati per combinare i risultati di due (o più) istruzioni SELECT. Gli operatori di set validi in Oracle 11g sono UNION, UNION ALL, INTERSECT e MINUS.
6.What are the queries containing SET operators called?
- Sub-queries
- Sottoquery correlate
- GROUP BY query
- Query composte
Answer: D.
7.What is true about the UNION operator?
- Restituisce le righe delle query combinate insieme ai valori NULL
- Restituisce le righe per le query combinate dopo aver eliminato i duplicati
- Restituisce righe per le query combinate insieme a valori duplicati
- Restituisce righe per le query combinate ignorando i valori NULL
Answer: B. UNION Restituisce le righe combinate di due query, ordinandole e rimuovendo i duplicati.
8.What is true about the UNION ALL operator?
- Restituisce le righe delle query combinate insieme ai valori NULL
- Restituisce le righe per le query combinate dopo aver eliminato i duplicati
- Restituisce righe per le query combinate insieme a valori duplicati
- Restituisce righe per le query combinate ignorando i valori NULL
Answer: C. UNION ALL Restituisce le righe combinate di due query senza ordinare o rimuovere i duplicati.
9.What is true about the INTERSECT operator?
- Restituisce le righe delle query combinate insieme ai valori NULL
- Restituisce le righe per le query combinate dopo aver eliminato i duplicati
- Restituisce le righe comuni dalle query combinate
- Nessuno dei precedenti
Answer: C. INTERSECT Restituisce solo le righe che si trovano nei set di risultati di entrambe le query, ordinandole e rimuovendo i duplicati.
10.What is true about the MINUS operator?
- Restituisce righe dalla prima query ma non dalla seconda query
- Restituisce righe per la seconda query ma non dalla prima query
- Restituisce righe duplicate per le query combinate
- Restituisce righe per le query combinate ignorando i valori NULL
Answer: A. MENO Restituisce solo le righe nel primo set di risultati che non compaiono nel secondo set di risultati, ordinandole e rimuovendo i duplicati.
11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?
- UNION, UNION ALL, INTERSECT e MINUS
- MINUS, UNION, UNION ALL e INTERSECT
- INTERSECT, MINUS, UNION ALL, UNION
- Uguale precedenza
Answer: D. Gli operatori SET hanno la stessa precedenza.
12.What is the order of evaluation of set operators?
- Da sinistra a destra
- Da destra a sinistra
- Valutazione casuale
- Dall'alto al basso
Answer: A, D. Supponendo che non vi siano raggruppamenti di query utilizzando le parentesi, gli operatori SET verranno valutati dall'alto verso il basso e da sinistra a destra in senso orizzontale.
13.In which of the following cases, parenthesis should be specified?
- Quando INTERSECT viene utilizzato con altri operatori di set
- Quando UNION viene utilizzato con UNION ALL
- Quando MINUS viene utilizzato per le query
- Nessuno dei precedenti
Answer: A. L'uso delle parentesi cambierà esplicitamente l'ordine di valutazione quando INTERSECT viene utilizzato con altri operatori.
14.What is true about the SELECT clause when SET operators are used?
- Non ci sono restrizioni sulle colonne selezionate
- Le colonne, le espressioni utilizzate nella clausola SELECT, devono corrispondere in numero nelle query combinate
- Le colonne, le espressioni utilizzate nella clausola SELECT devono essere N nella prima query e N-1 nelle successive query combinate
- Sia B che C
Answer: B. Tutte le combinazioni dovrebbero avere lo stesso no. di colonne quando si utilizzano operatori SET. Le colonne corrispondenti nelle query che costituiscono una query composta devono essere dello stesso gruppo di tipi di dati.
15.What is true about the SET operators?
- La clausola SELECT dovrebbe avere lo stesso numero di colonne, i tipi di dati possono essere diversi
- Gli operatori SET possono essere utilizzati solo per combinare due query
- Il tipo di dati di ogni colonna nella seconda query deve corrispondere al tipo di dati della colonna corrispondente nella prima query.
- Nessuno dei precedenti
Answer: C. Tutte le combinazioni dovrebbero avere lo stesso no. di colonne quando si utilizzano operatori SET. Le colonne corrispondenti nelle query che costituiscono una query composta devono essere dello stesso gruppo di tipi di dati.
16.Where can the ORDER BY clause be used in case when SET operators are used?
- In ciascuna delle query combinate
- Solo nella prima query
- Alla fine della query composta
- Nessuno dei precedenti
Answer: C. Se la clausola ORDER BY viene utilizzata tra una qualsiasi delle query unite tramite operatori SET, verrà generato un errore ORA.
17.What is true about the queries that have SET operators in their WHERE clause?
- Queste query devono avere lo stesso no. e il tipo di dati delle colonne nella loro clausola SELECT.
- Il no. di colonne utilizzate nella query della clausola WHERE e nella SELECT principale possono essere diverse
- Il no. di colonne utilizzate nella clausola WHERE dovrebbero essere le stesse, il tipo di dati può essere diverso
- Nessuno dei precedenti
Answer: A. Tutte le combinazioni dovrebbero avere lo stesso no. di colonne quando si utilizzano operatori SET. Le colonne corrispondenti nelle query che costituiscono una query composta devono essere dello stesso gruppo di tipi di dati.
18.What is true about the columns in the second query with respect to the columns in the first query?
- La colonna nella seconda query deve trovarsi nello stesso gruppo di tipi di dati della colonna corrispondente nella prima query
- Se una colonna nella prima query è un NUMERO, la colonna corrispondente nella seconda query dovrebbe essere un VARCHAR2
- Se una colonna nella prima query è un NUMERO, anche la colonna corrispondente nella seconda query dovrebbe essere NUMERO.
- Nessuno dei precedenti
Answer: A, C.
19.What among the following is true about SET operators?
- Gli operatori SET non possono essere utilizzati nelle sottoquery
- Gli operatori SET possono essere utilizzati solo nella clausola WHERE
- ORDER BY può essere utilizzato per tutte le query combinate da un operatore SET
- Gli operatori SET possono essere utilizzati nelle sottoquery
Answer: D.
20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?
- L'ordine di utilizzo degli operatori SET può essere modificato per cambiare la precedenza
- La precedenza uguale non può essere modificata
- La parentesi può essere utilizzata per modificare la precedenza
- Nessuno dei precedenti
Answer: C. È possibile utilizzare le parentesi per raggruppare le query specifiche in modo da modificare esplicitamente la precedenza. Le parentesi sono preferite rispetto ad altri operatori SET durante l'esecuzione.
21.What can be said about duplicate values and SET operators?
- Nessun operatore SET visualizza valori duplicati
- Tutti gli operatori SET possono visualizzare valori duplicati
- Solo l'operatore UNION ALL visualizza valori duplicati
- Nessuno dei precedenti
Answer: C. UNION, INTERSECT e MINUS eliminano automaticamente i valori duplicati
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?
- Verrà visualizzato uno o più identificativi di reparto distinti contenuti congiuntamente nella tabella DIPENDENTI e REPARTI
- Genererà un errore ORA
- Nessuna riga selezionata
- Nessuno dei precedenti
Answer: A. UNION Restituisce le righe combinate di due query, ordinandole e rimuovendo i duplicati.
23.What is true about the query given above?
- Questa query restituisce un errore ORA
- Viene eseguito correttamente ma non dà risultati
- Non è possibile utilizzare query da tabelle diverse con gli operatori SET
- La query viene eseguita correttamente e fornisce i risultati come previsto
Answer: D. Una query composta è una query composta da più query che utilizzano tabelle diverse.
24.What is the default sorting order of the results when UNION ALL operator is used?
- Descending
- Ascending
- O A o B
- Tutti i precedenti
Answer: B. Una query composta restituirà per impostazione predefinita le righe ordinate su tutte le colonne, da sinistra a destra in ordine crescente. L'unica eccezione è UNION ALL, in cui le righe non verranno ordinate. L'unico punto in cui è consentita una clausola ORDER BY è alla fine della query composta.
25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?
- L'output avrà il tipo di dati VARCHAR2 di uguale lunghezza
- L'output avrà il tipo di dati CHAR di uguale lunghezza
- L'output avrà il tipo di dati CHAR di diverse lunghezze
- L'output avrà il tipo di dati NUMBER di uguale lunghezza
Answer: B. Le colonne nelle query che costituiscono una query composta possono avere nomi diversi, ma il set di risultati di output utilizzerà i nomi delle colonne nella prima query. Le colonne corrispondenti nelle query che costituiscono una query composta devono essere dello stesso gruppo di tipi di dati.
26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?
- L'output avrà il tipo di dati VARCHAR2 di uguale lunghezza
- L'output avrà il tipo di dati CHAR di uguale lunghezza
- L'output avrà il tipo di dati CHAR di diverse lunghezze
- L'output avrà il tipo di dati VARCHAR2 con la lunghezza del valore CHAR più grande
Answer: D. Sebbene gli elenchi di colonne selezionate non debbano essere esattamente dello stesso tipo di dati, devono appartenere allo stesso gruppo di tipi di dati. Il set di risultati della query composta avrà colonne con il livello di precisione più elevato.
27.What will be the output of a compound query if either or both queries select values of VARCHAR2?
- L'output avrà il tipo di dati VARCHAR2.
- L'output avrà il tipo di dati CHAR di uguale lunghezza
- L'output avrà il tipo di dati CHAR di diverse lunghezze
- L'output avrà il tipo di dati VARCHAR2 con la lunghezza del valore CHAR più grande
Answer: A. Sebbene gli elenchi di colonne selezionate non debbano essere esattamente dello stesso tipo di dati, devono appartenere allo stesso gruppo di tipi di dati. Il set di risultati della query composta avrà colonne con il livello di precisione più elevato.
28.What is true if the compound queries select numeric data?
- Ci sarà una uguale precedenza dei valori numerici, operatori
- I valori restituiti saranno determinati dalla precedenza numerica
- I valori restituiti saranno del tipo di dati NUMBER
- Nessuno dei precedenti
Answer: B, C. Sebbene gli elenchi di colonne selezionate non debbano essere esattamente dello stesso tipo di dati, devono appartenere allo stesso gruppo di tipi di dati. Il set di risultati della query composta avrà colonne con il livello di precisione più elevato.
29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?
- Oracle li convertirà in modo implicito e restituirà un risultato del tipo di dati VARCHAR2
- Oracle li convertirà in modo implicito e restituirà un risultato di tipo di dati NUMBER
- Viene generato un errore ORA
- Nessuno dei precedenti
Answer: C. Oracle non converte i tipi di dati in modo implicito.
30.What is true about the UNION operator?
- Elimina i valori duplicati ignorando i valori NULL
- Restituisce valori duplicati ignorando i valori NULL
- Restituisce valori duplicati inclusi i valori NULL
- Elimina i valori duplicati e non ignora i valori NULL
Answer: D. I valori NULL non vengono ignorati quando viene utilizzato l'operatore UNION
31.What can be said about the names and columns of a SQL query which uses the UNION operator?
- I nomi delle colonne dovrebbero essere identici
- I nomi e il tipo di dati delle colonne dovrebbero essere identici
- I nomi delle colonne non devono essere identici
- Nessuno dei precedenti
Answer: C. Le colonne nelle query che costituiscono una query composta possono avere nomi diversi, ma il set di risultati di output utilizzerà i nomi delle colonne nella prima query.
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?
- 0
- 1
- 2
- 4
Answer: B. UNION Restituisce le righe combinate di due query, ordinandole e rimuovendo i duplicati.
33.What will be the outcome of the above query?
- Visualizza due volte i dettagli del lavoro corrente e precedente dei dipendenti
- Visualizza i dettagli del lavoro corrente e precedente dei dipendenti solo una volta
- O A o B
- Nessuno dei precedenti
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?
- Once
- Twice
- Thrice
- Nessuno dei precedenti
Answer: B. UNION Restituisce le righe combinate di due query, ordinandole e rimuovendo i duplicati. La duplicità viene misurata dalla combinazione di colonne e non dalla singola colonna separatamente.
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 ?
- 2 file
- 3 file
- Nessuna riga
- Errore ORA
Answer: B.
36.Which statements best describes the inference drawn from the questions 34 and 35?
- Sono presenti valori duplicati per i codici lavoro
- La query viene eseguita ma i risultati prodotti sono imprevisti
- Non ci sono valori duplicati per i reparti
- Nessuno dei precedenti
Answer: C. Poiché la combinazione dei codici di lavoro e dei reparti è unica, non si ottengono duplicati.
37.What will be the sorting in the result set obtained by the query?
- Discendente sull'ID dipendente
- Discendente su Job ID
- Crescente sull'ID dipendente
- Crescente su ID reparto
Answer: C. L'ordinamento predefinito sarà crescente in base alla prima colonna, ovvero: Employee ID in questo caso. Tuttavia, questo comportamento può essere modificato inserendo una singola clausola ORDER BY alla fine.
38.Which of the following operators will be used to obtain duplicate records from the component queries?
- UNION
- UNION ALL
- MINUS
- Nessuno dei precedenti
Answer: B. UNION ALL non elimina i valori duplicati.
39.What is the difference between the UNION and the UNION ALL operators?
- Non c'è differenza
- UNION ALL mostra anche valori duplicati
- L'output nel caso di UNION ALL non è ordinato per impostazione predefinita
- Nessuno dei precedenti
Answer: B, C. Quando viene utilizzato con due istruzioni SELECT, l'operatore set UNION restituisce i risultati di entrambe le query. Tuttavia, se sono presenti duplicati, vengono rimossi e il record duplicato viene elencato solo una volta. Per includere duplicati nei risultati, utilizzare l'operatore di insieme UNION ALL
40.What is true about the INTERSECT operator?
- Il numero di colonne e i tipi di dati delle colonne nelle query dei componenti devono essere gli stessi
- I nomi delle colonne e i tipi di dati delle colonne nelle query dei componenti dovrebbero essere gli stessi
- Sia a che B
- Nessuno dei precedenti
Answer: A. Questa è una caratteristica comune dei criteri di proprietà degli operatori SET.
41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?
- Il risultato è alterato
- Il risultato rimane lo stesso
- L'ordinamento cambia con l'alterazione
- Nessuno dei precedenti
Answer: B.
42.What among the following is true about the INTERSECT operator?
- Ignora i valori NULL
- Non ignora i valori NULL
- Restituisce tutte le righe dalla prima query del componente
- Nessuno dei precedenti
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)
SELECT employee_id , job_id, first_name, last_name FROM employees UNION SELECT employee_id , job_id, first_name, last_name FROM job_history;
SELECT employee_id , job_id, first_name, last_name FROM employees INTERSECT SELECT employee_id , job_id, first_name, last_name FROM job_history;
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;
- Nessuno dei precedenti
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?
- Il risultato sarà lo stesso
- Il risultato sarà diverso
- Il risultato sarà lo stesso ma l'ordine sarà diverso
- Nessuno dei precedenti
Answer: A. Il risultato può essere interpretato come: i dipendenti che hanno lavorato con lo stesso titolo lavorativo nello stesso reparto.
45.What is true about the MINUS operator?
- Restituisce tutte le righe da tutte le query del componente
- Restituisce solo le righe comuni da tutte le query del componente
- Restituisce tutte le righe dalla prima query e non dalle query successive
- Restituisce tutte le righe distinte selezionate dalla prima query, ma non presenti nelle query successive
Answer: D. L'operatore di set MINUS rimuove i risultati della seconda query dall'output se si trovano anche nei risultati della prima query
46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?
- Dovrebbero essere gli stessi, il tipo di dati potrebbe essere diverso ma dovrebbero appartenere allo stesso gruppo di tipi di dati.
- Dovrebbero essere gli stessi insieme ai nomi delle colonne
- Sia a che B
- Nessuno dei precedenti
Answer: A. Caratteristica comune degli operatori 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)
SELECT employee_id FROM employees UNION SELECT employee_id FROM job_history;
SELECT employee_id FROM employees INTERSECT Select employee_id FROM job_history;
SELECT employee_id FROM employees MINUS Select employee_id FROM job_history;
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?
- Genera un errore poiché TO_CHAR (NULL) non può essere utilizzato
- Viene eseguito correttamente e fornisce i valori per id, first_name e ruolo lavorativo corrente dei dipendenti, comprese le righe duplicate
- Viene eseguito correttamente e fornisce i valori per id, first_name e tutti i lavori detenuti dai dipendenti, escluse le righe duplicate
- Nessuno dei precedenti
Answer: C. Ogni query deve contenere lo stesso numero di colonne, che vengono confrontate in base alla posizione. NULL può essere sostituito al posto della colonna che manca nell'altra query all'interno della stessa query composta.
49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?
- Il risultato mostra quei dipendenti che hanno una voce nella tabella JOB_HISTORY
- Il risultato mostra quei dipendenti che non hanno una voce in JOB_HISTORY, ma sono presenti nella tabella EMPLOYEES
- O di A o B
- Nessuno dei precedenti
Answer: B. MINUS fornisce i risultati univoci presenti nella prima query ma non nella seconda query.
Consider the exhibit given below and answer the questions 50 and 51 that follow:
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/audit_yearly.jpg)
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/audit.jpg)
50.What will be the outcome of the following query?
SELECT AU_DETAILS
FROM AUDIT
UNION
SELECT AU_DETAILS
FROM AUDIT_YEARLY;
- Viene eseguito con successo fornendo i risultati corretti inclusi i valori duplicati
- Viene eseguito con successo fornendo i risultati corretti escludendo i valori duplicati
- Genera un errore ORA
- Nessuno dei precedenti
Answer: C. Le colonne CLOB o LONG non possono essere nella clausola SELECT quando si utilizzano gli operatori di insieme UNION.
51.What will be the outcome of the query if UNION is replaced with UNION ALL?
- Verrà eseguito con successo fornendo i risultati corretti inclusi i valori duplicati
- Genera un errore ORA
- Verrà eseguito con successo fornendo i risultati corretti escludendo i valori duplicati
- Viene eseguito correttamente ma fornisce risultati errati.
Answer: B. Gli operatori .UNION, UNION ALL, INTERSECT e MINUS se utilizzati con una colonna LONG o CLOB genera un errore.
52.Assume that there are 4 component queries. How many SET operators can be used to combine them in a single compound query?
- 1
- 2
- 4
- 3
Answer: D. L'operatore SET da utilizzare sarà N-1 dove N è il numero di query del componente.
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?
- Giunzioni orizzontali
- Giunti cartesiani
- Giunzioni verticali
- Unioni esterne
Answer: C.
54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)
- UNION combina i risultati di due query di componenti in un set di risultati con valori duplicati
- INTERSECT restituisce solo le righe restituite da ciascuna delle due query di componenti
- UNION fornisce i valori distinti dalle query del componente, INTERSECT fornisce i valori comuni dalle query del componente
- Sia B che 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?
- UNION
- UNION ALL
- INTERSECT
- Nessuno dei precedenti
Answer: B. UNION ALL Restituisce le righe combinate di due query senza ordinare o rimuovere i duplicati.
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?
- INTERSECT
- UNION
- MINUS
- Nessuno dei precedenti
Answer: D. UNION ALL darà i risultati non ordinati con duplicati.
57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?
- Il set di risultati da UNION ALL viene filtrato includendo i valori duplicati
- Il set di risultati da UNION viene filtrato e ordinato includendo i valori duplicati
- Il set di risultati da UNION ALL non è ordinato e presenta valori duplicati
- Il set di risultati da UNION viene filtrato e ordinato senza valori duplicati
Answer: C, D.
58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?
- La dichiarazione è corretta
- L'operatore UNION ALL ha più overhead sul database rispetto all'operatore UNION
- UNION deve ordinare ed eliminare i duplicati che si traducono in un sovraccarico aggiuntivo
- Nessuno dei precedenti
Answer: A, C. UNION deve eseguire più attività di UNION ALL perché ordina e deduplica i set di risultati. Pertanto, si consiglia di utilizzare UNION ALL, a meno che non siano necessarie righe distinte.
59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?
- Verranno visualizzati solo i dipendenti che sono impiegati nel dipartimento 10
- Mostrerà tutti quei dipendenti che si trovano nel reparto 10
- Mostrerà tutti gli impiegati.
- Nessuno dei precedenti
Answer: A. INTERSECT restituisce quei record che sono presenti nella query 1 E nella query 2.
60.What among the following is the difference between the INTERSECT and the UNION operators?
- INTERSECT segue la logica booleana "AND", UNION segue la logica booleana "OR"
- UNION segue la logica booleana "OR", mentre INTERSECT segue la logica "AND"
- O di A o B
- Nessuno dei precedenti
Answer: A.
61.In which of the following SET operators, changing the order of the component queries will change the result set?
- UNION
- UNION ALL
- MINUS
- INTERSECT
Answer: C. MENO Restituisce solo le righe nel primo set di risultati che non compaiono nel secondo set di risultati, ordinandole e rimuovendo i duplicati.
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?
- Nessuna riga
- 4
- 1
- NULL
Answer: A. Nessuna riga verrà selezionata poiché l'operatore INTERSECT non otterrà risultati comuni da entrambe le query: gli operatori INTERSECT forniscono risultati comuni presenti nella query 1 AND nella query 2.
63.What will be the outcome of the query if the INTERSECT operator is replaced with MINUS operator?
- 3
- 4
- 0
- 1
Answer: B. MINUS fornisce risultati che sono presenti nella prima query e non presenti nella seconda query.
64.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION operator?
- 1
4
- 4
1
- NULL
- 0
Answer: A. UNION produrrà righe distinte nel set di risultati in ordine crescente.
65.What will be the outcome of the above query if the INTERSECT operator is replaced with the UNION ALL operator?
- 4
1
- 0
- NULL
- 1
4
Answer: A. UNION ALL visualizza i risultati così come sono posizionati nella query senza ordinarli.
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
4
- 4
1
- NULL
- Nessuno dei precedenti
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:
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/job_history_archive.jpg)
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)
- Restituirà quelle righe che sono diverse nelle due tabelle
- Restituirà le righe comuni nelle due tabelle
- Restituirà tutte le righe delle due tabelle
- Nessuno dei precedenti
Answer: A.
68.What can concluded if the above given query yields rows only from JOB_HISTORY table?
- Mostra che JOB_HISTORY contiene due righe diverse dalla tabella JOB_HISTORY_ARCHIVE
- Mostra che due righe sono uguali nelle tabelle JOB_HISTORY e JOB_HISTORY_ARCHIVE
- Mostra che JOB_HISTORY_ARCHIVE contiene due righe diverse dalla tabella JOB_HISTORY
- Nessuno dei precedenti
Answer: A.
69.What can be said if the above query gives no results?
- Mostra che le due tabelle hanno gli stessi dati
- Mostra che le query dei componenti sono posizionate in modo errato
- Mostra che gli operatori SET sono utilizzati in modo errato nella query composta
- Nessuno dei precedenti
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?
- COUNT(*)
- COUNT (*) e GROUP BY dipendente_id
- COUNT (*) e ORDER BY dipendente_id
- Nessuno dei precedenti
Answer: B. COUNT (*) può essere utilizzato per vedere la differenza tra le tabelle.
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?
-
NUM TEXT ---------- ----------- 1 employee departments
-
NUM TEXT ---------- ----------- 1 employee NULL departments
- Errore ORA
-
NUM TEXT ---------- ----------- departments 1 employee
Answer: C. Qui il numerico 1 viene confrontato con un carattere NULL che genera l'errore "ORA-01790: l'espressione deve avere lo stesso tipo di dati dell'espressione corrispondente".
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)
- Viene eseguito con successo con risultati corretti
- Viene eseguito correttamente ma senza risultati
- Genera un errore ORA
- Nessuno dei precedenti
Answer: C. NUMBER e DATE non appartengono allo stesso tipo di dati non riuscito. Qui un numero ottenuto da MONTHS_BETWEEN viene confrontato con una DATA e quindi l'errore.
73.Assume that the SELECT statement in the 2nd query is modified as below:
SELECT to_number (NULL) NUM FROM dual;
Quale sarà il risultato a causa di questo cambiamento?
- Viene eseguito con successo con risultati corretti
- Viene eseguito correttamente ma senza risultati
- Genera un errore ORA
- Nessuno dei precedenti
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;
Quale delle seguenti intestazioni di colonna verrà visualizzata nel set di risultati?
- ID EMP
- ID Dipendente
- EMPLOYEE_ID
- Errore ORA perché i nomi delle colonne devono essere gli stessi nelle query del componente.
Answer: B. Le colonne nelle query che costituiscono una query composta possono avere nomi diversi, ma il set di risultati di output utilizzerà i nomi delle colonne nella prima query.
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?
- I risultati verranno ordinati in base all'ID dipendente dalla tabella JOB_HISTORY
- I risultati verranno ordinati in base all'ID dipendente dalla tabella EMPLOYEES
- Non ci sarà alcun ordinamento dei risultati
- Errore ORA
Answer: D. L'ORDINE BY dovrebbe essere eseguito in base ai nomi delle colonne della prima query e non delle seconde colonne della query.
76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?
- ORDINA PER e.employee_id
- ORDINARE DA j.2
- ORDINA PER 1
- Nessuna delle precedenti, ORDER BY non è consentita nella query
Answer: C. Questa è una specifica più generica e Oracle ordinerà in base alla prima colonna della prima query.
77.Consider the following exhibit and answer the question below:
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/audit_yearly.jpg)
![](https://post.nghiatu.com/assets/tutorial/sql_certificate/images/audit.jpg)
SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;
Quale sarà il risultato della query sopra indicata?
- Fornisce i documenti di Audit tra le due tabelle
- Fornisce un errore ORA durante l'esecuzione
- Fornisce i documenti di Audit dalla tabella AUDIT
- Nessuno dei precedenti
Answer: B. Le colonne LONG non possono essere utilizzate con gli operatori SET.
78.Consider the query given below:
SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);
Quale sarà il risultato della query di cui sopra?
- Viene eseguito correttamente con i duplicati
- Viene eseguito correttamente senza duplicati
- Genera un errore ORA
- Nessuno dei precedenti
Answer: C. Le espressioni TABLE non possono essere utilizzate con gli operatori 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?
- Errore ORA
- Employee_id e job_id
- Employee_id
- Nessuno dei precedenti
Answer: A. La clausola FOR UPDATE non può essere utilizzata con la query combinata utilizzando gli operatori SET.
80.What will be the outcome of the following query?
SELECT * from employees
UNION
SELECT job_id FROM job_history;;
- Fornirà tutte le colonne dalle tabelle dei dipendenti e solo la colonna job_id dalla tabella job_history
- Verrà generato un errore poiché il numero di colonne dovrebbe corrispondere nelle query del componente
- Né B né C
- Nessuno dei precedenti
Answer: B.
81.If UNION, UNION ALL, INTERSECT are used in one SQL statement which of the following is true regarding the SQL statement?
- UNION, UNION ALL verrà eseguito per primo e quindi il set di risultati andrà per l'istruzione INTERSECT.
- L'esecuzione di INTERSECT precederà l'esecuzione di UNION e UNION ALL.
- L'esecuzione verrà eseguita da destra a sinistra tenendo in considerazione tutti gli operatori contemporaneamente.
- L'esecuzione verrà eseguita da sinistra a destra tenendo in considerazione tutti gli operatori contemporaneamente.
Answer: D.
82.Consider the query given below and answer the question that follow:
SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;
Cosa è vero per quanto riguarda l'esecuzione della query di cui sopra?
- Viene eseguito con successo.
- Genera un errore
- Dà il risultato 3.
- Dà il risultato 3f
Answer: B. I caratteri letterali devono essere racchiusi tra virgolette singole.
83.Which of the following is false for set operators used in SQL queries?
- Gli operatori set sono validi se utilizzati su colonne con il tipo di dati LONG.
- Gli operatori di insieme non sono validi su colonne di tipo BLOB, CLOB, BFILE, VARRAY o tabella nidificata.
- Affinché la query di selezione contenente un'espressione, deve essere fornito un alias di colonna per fare riferimento a order_by_clause.
- Non è possibile utilizzare questi operatori nelle istruzioni SELECT che contengono espressioni di raccolta TABLE.
Answer: A. Gli operatori SET non sono supportati per i tipi di dati LONG, CLOB e 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;
Quali clausole ORDER BY sono valide per la query precedente? (Scegliere tutte le opzioni pertinenti.)
- ORDINA PER 2,1
- ORDINA PER DIPENDENTE_NO
- ORDINA PER 2, dipendente_id
- ORDINA PER "EMPLOYEE_NO"
Answer: A, C. La clausola ORDER BY deve fare riferimento alla colonna in base alla sua posizione o al nome a cui fa riferimento la prima query.
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?
- RAGGRUPPA PER
- ORDINATO DA
- MINUS
- 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 );
- Verranno visualizzati tutti gli ID di reparto che hanno gli stipendi medi e gli stipendi massimi
- Verrà generato un errore ORA poiché il n. di colonne selezionate in entrambe le query è diverso
- Verranno visualizzati tutti gli ID di reparto che hanno gli stipendi medi
- Visualizzerà tutti gli ID reparto che hanno gli stipendi massimi
Answer: B. Il no. di colonne dovrebbe essere lo stesso.
87.What among the following is true about the UNION operator?
- UNION opera solo sulla prima colonna dell'elenco SELECT
- UNION opera sulle prime colonne degli elenchi SELECT nelle query dei componenti
- UNION opera su tutte le colonne selezionate.
- Nessuno dei precedenti
Answer: C. UNION opera su tutte le colonne nell'elenco SELECT e non ignora alcuna colonna.
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)
SELECT department_id FROM employees E Where job_id = 'SA_RE' UNION SELECT department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' UNION ALL Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
SELECT department_id FROM employees E Where job_id = 'SA_REP' INTERSECT Select department_id FROM employees E Where job_id = 'ACCOUNTANT';
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?
- Non è possibile utilizzare ORDER BY nelle singole query che effettuano una query composta.
- Una clausola ORDER BY può essere aggiunta alla fine di una query composta.
- Le righe restituite da UNION ALL saranno nell'ordine in cui si trovano nelle due query di origine.
- Le righe restituite da UNION verranno ordinate in tutte le colonne, da destra a sinistra.
Answer: A, B, C.
90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?
- PARTE ESTERNA DESTRA
- UNISCI ESTERNO SINISTRO
- EQUI-JOIN
- FULL OUTER JOIN
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)
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
- Nessuno dei precedenti
Answer: B.
92.Consider the following query:
SELECT distinct job_id
FROM employees
NATURAL JOIN job_history ;
Quale delle seguenti query è identica alla query precedente?
SELECT job_id FROM employees UNION SELECT job_id FROM job_history;;
SELECT job_id FROM employees UNION ALL SELECT job_id FROM job_history;;
SELECT job_id FROM employees MINUS Select job_id FROM job_history;;
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?
- 4
- 3
- 0
- 8
Answer: D. UNION ALL Restituisce le righe combinate di due query senza ordinare o rimuovere i duplicati.
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)
- 5
- 3
- 2
- 6
Answer: D. UNION Restituisce le righe combinate di due query, ordinandole e rimuovendo i duplicati.
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)
- 3
- 2
- 1
- 0
Answer: C. MENO Restituisce solo le righe nel primo set di risultati che non compaiono nel secondo set di risultati, ordinandole e rimuovendo i duplicati.
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)
- 8
- 6
- 3
- 2
Answer: C. INTERSECT Restituisce solo le righe che si trovano nei set di risultati di entrambe le query, ordinandole e rimuovendo i duplicati.
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 query precedente genera un errore. Quale riga nella query precedente genera un errore?
- 3
- 7
- 2
- Non si ottiene alcun errore
Answer: A. ORDER BY dovrebbe apparire solo alla fine della query composta e non nelle query del componente.
98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?
- UNION ALL
- MENO TUTTI
- INTERSETTI TUTTI
- TRANNE TUTTI
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)
SELECT job_id from employee WHERE department_id = 100 INTERSECT SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 UNION ALL SELECT job_id from employee WHERE department_id = 200;
SELECT job_id from employee WHERE department_id = 100 MINUS Select job_id from employee WHERE department_id = 200;
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.)
- INTERSECT, perché INTERSECT ha una precedenza maggiore di MINUS.
- Il MINUS, perché MINUS ha una precedenza maggiore di INTERSECT.
- La precedenza è determinata dall'ordine in cui sono specificati.
- Non è possibile che una query composta includa sia MINUS che INTERSECT.
Answer: C. Tutti gli operatori di insieme hanno uguale precedenza, quindi la precedenza è determinata dalla sequenza in cui si verificano.