Korzystanie z pytań operatorów zbiorów
1.Which SET operator does the following figure indicate?
- UNION
- UNIA WSZYSTKO
- INTERSECT
- MINUS
Answer: A. Operatory zbiorów są używane do łączenia wyników dwóch (lub więcej) instrukcji SELECT. Prawidłowe operatory zestawu w Oracle 11g to UNION, UNION ALL, INTERSECT i MINUS. W przypadku użycia z dwoma instrukcjami SELECT operator zestawu UNION zwraca wyniki obu zapytań, jednak jeśli istnieją jakiekolwiek duplikaty, są one usuwane, a zduplikowany rekord jest wyświetlany tylko raz. set operator.INTERSECT wyświetla tylko rekordy, które są zwracane przez oba zapytania; operator zestawu MINUS usuwa wyniki drugiego zapytania z danych wyjściowych, jeśli znajdują się one również w wynikach pierwszego zapytania. Operacje na zbiorach INTERSECT i MINUS dają niepowtarzalne wyniki.
2.Which SET operator does the following figure indicate?
- UNION
- UNIA WSZYSTKO
- INTERSECT
- MINUS
Answer: B. UNION ALL Zwraca połączone wiersze z dwóch zapytań bez sortowania ani usuwania duplikatów.
3.Which SET operator does the following figure indicate?
- UNION
- UNIA WSZYSTKO
- INTERSECT
- MINUS
Answer: C. INTERSECT Zwraca tylko te wiersze, które występują w zestawach wyników obu zapytań, sortując je i usuwając duplikaty.
4.Which SET operator does the following figure indicate?
- UNION
- UNIA WSZYSTKO
- INTERSECT
- MINUS
Answer: D. MINUS Zwraca tylko te wiersze z pierwszego zestawu wyników, które nie pojawiają się w drugim zestawie wyników, sortując je i usuwając duplikaty.
5.What is true about SET operators?
- Zmieniają wartości wierszy
- Łączą wyniki tylko dwóch zapytań składowych w jeden wynik
- Łączą wyniki 10 zapytań składowych w dwa zestawy wyników.
- Łączą wyniki dwóch lub więcej zapytań składowych w jeden wynik
Answer: D. Operatory zbiorów służą do łączenia wyników dwóch (lub więcej) instrukcji SELECT. Prawidłowe operatory zbioru w Oracle 11g to UNION, UNION ALL, INTERSECT i MINUS.
6.What are the queries containing SET operators called?
- Sub-queries
- Powiązane zapytania podrzędne
- Zapytania GROUP BY
- Zapytania złożone
Answer: D.
7.What is true about the UNION operator?
- Zwraca wiersze z połączonych zapytań wraz z wartościami NULL
- Zwraca wiersze dla połączonych zapytań po wyeliminowaniu duplikatów
- Zwraca wiersze dla połączonych zapytań wraz ze zduplikowanymi wartościami
- Zwraca wiersze dla połączonych zapytań, ignorując wartości NULL
Answer: B. UNION Zwraca połączone wiersze z dwóch zapytań, sortując je i usuwając duplikaty.
8.What is true about the UNION ALL operator?
- Zwraca wiersze z połączonych zapytań wraz z wartościami NULL
- Zwraca wiersze dla połączonych zapytań po wyeliminowaniu duplikatów
- Zwraca wiersze dla połączonych zapytań wraz ze zduplikowanymi wartościami
- Zwraca wiersze dla połączonych zapytań, ignorując wartości NULL
Answer: C. UNION ALL Zwraca połączone wiersze z dwóch zapytań bez sortowania ani usuwania duplikatów.
9.What is true about the INTERSECT operator?
- Zwraca wiersze z połączonych zapytań wraz z wartościami NULL
- Zwraca wiersze dla połączonych zapytań po wyeliminowaniu duplikatów
- Zwraca wspólne wiersze z połączonych zapytań
- Żadne z powyższych
Answer: C. INTERSECT Zwraca tylko te wiersze, które występują w zestawach wyników obu zapytań, sortując je i usuwając duplikaty.
10.What is true about the MINUS operator?
- Zwraca wiersze z pierwszego zapytania, ale nie z drugiego zapytania
- Zwraca wiersze dla drugiego zapytania, ale nie z pierwszego zapytania
- Zwraca zduplikowane wiersze dla połączonych zapytań
- Zwraca wiersze dla połączonych zapytań, ignorując wartości NULL
Answer: A. MINUS Zwraca tylko te wiersze z pierwszego zestawu wyników, które nie pojawiają się w drugim zestawie wyników, sortując je i usuwając duplikaty.
11.What is the precedence of the set operators UNION, UNION ALL, INTERSECT and MINUS?
- UNIA, UNIA ALL, INTERSECT i MINUS
- MINUS, UNIA, UNIA ALL i INTERSECT
- INTERSECT, MINUS, UNION ALL, UNION
- Równe pierwszeństwo
Answer: D. Operatory SET mają równy priorytet.
12.What is the order of evaluation of set operators?
- Z lewej na prawą
- Od prawej do lewej
- Losowa ocena
- Od góry do dołu
Answer: A, D. Zakładając, że nie ma grupowania zapytań za pomocą nawiasów, operatory SET będą oceniane od góry do dołu i od lewej do prawej w poziomie.
13.In which of the following cases, parenthesis should be specified?
- Kiedy INTERSECT jest używany z innymi operatorami zbiorów
- Kiedy UNION jest używany z UNION ALL
- Gdy w zapytaniach jest używany MINUS
- Żadne z powyższych
Answer: A. Użycie nawiasów spowoduje jawną zmianę kolejności oceny, gdy funkcja INTERSECT jest używana z innymi operatorami.
14.What is true about the SELECT clause when SET operators are used?
- Nie ma ograniczeń co do wybranych kolumn
- Kolumny, wyrażenia użyte w klauzuli SELECT muszą być zgodne pod względem liczby w połączonych zapytaniach
- Kolumny, wyrażenia użyte w klauzuli SELECT muszą mieć N w pierwszym zapytaniu i N-1 w kolejnych połączonych zapytaniach
- Zarówno B, jak i C
Answer: B. Wszystkie połączone powinny mieć to samo nr. kolumn podczas korzystania z operatorów SET. Odpowiednie kolumny w zapytaniach składających się na zapytanie złożone muszą należeć do tej samej grupy typów danych.
15.What is true about the SET operators?
- Klauzula SELECT powinna mieć taką samą liczbę kolumn, typy danych mogą być różne
- Operatory SET mogą być używane tylko do łączenia dwóch zapytań
- Typ danych każdej kolumny w drugim zapytaniu musi być zgodny z typem danych odpowiadającej jej kolumny w pierwszym zapytaniu.
- Żadne z powyższych
Answer: C. Wszystkie połączone powinny mieć to samo nr. kolumn podczas korzystania z operatorów SET. Odpowiednie kolumny w zapytaniach składających się na zapytanie złożone muszą należeć do tej samej grupy typów danych.
16.Where can the ORDER BY clause be used in case when SET operators are used?
- W każdym z łączonych zapytań
- Tylko w pierwszym zapytaniu
- Na samym końcu zapytania złożonego
- Żadne z powyższych
Answer: C. Jeśli klauzula ORDER BY zostanie użyta między zapytaniami połączonymi za pomocą operatorów SET, spowoduje to zgłoszenie błędu ORA.
17.What is true about the queries that have SET operators in their WHERE clause?
- Te zapytania muszą mieć ten sam nr. oraz typ danych kolumn w ich klauzuli SELECT.
- Nie. kolumn używanych w zapytaniu klauzuli WHERE i głównym SELECT mogą być różne
- Nie. kolumn używanych w klauzuli WHERE powinno być takie samo, typ danych może być inny
- Żadne z powyższych
Answer: A. Wszystkie połączone powinny mieć to samo nr. kolumn podczas korzystania z operatorów SET. Odpowiednie kolumny w zapytaniach składających się na zapytanie złożone muszą należeć do tej samej grupy typów danych.
18.What is true about the columns in the second query with respect to the columns in the first query?
- Kolumna w drugim zapytaniu musi znajdować się w tej samej grupie typów danych, co odpowiadająca jej kolumna w pierwszym zapytaniu
- Jeśli kolumna w pierwszym zapytaniu to LICZBA, odpowiadająca jej kolumna w drugim zapytaniu powinna mieć wartość VARCHAR2
- Jeśli kolumna w pierwszym zapytaniu to LICZBA, odpowiadająca jej kolumna w drugim zapytaniu również powinna mieć numer LICZBA.
- Żadne z powyższych
Answer: A, C.
19.What among the following is true about SET operators?
- Operatorów SET nie można używać w zapytaniach podrzędnych
- Operatory SET mogą być używane tylko w klauzuli WHERE
- ORDER BY może być używany do wszystkich zapytań połączonych operatorem SET
- Operatory SET mogą być używane w zapytaniach podrzędnych
Answer: D.
20.What is the best way to change the precedence of SET operators given the fact that they have equal precedence?
- Kolejność użycia operatorów SET można zmienić, aby zmienić priorytet
- Nie można zmienić równego priorytetu
- Aby zmienić pierwszeństwo, można użyć nawiasów
- Żadne z powyższych
Answer: C. Nawiasy mogą służyć do grupowania określonych zapytań w celu jawnej zmiany pierwszeństwa. Podczas wykonywania preferowane są nawiasy zamiast innych operatorów SET.
21.What can be said about duplicate values and SET operators?
- Żaden operator SET nie wyświetla zduplikowanych wartości
- Wszyscy operatorzy SET mogą wyświetlać zduplikowane wartości
- Tylko operator UNION ALL wyświetla zduplikowane wartości
- Żadne z powyższych
Answer: C. UNION, INTERSECT i MINUS automatycznie eliminują zduplikowane wartości
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?
- Wyświetli odrębne identyfikatory działów zawarte łącznie w tabeli PRACOWNICY i DZIAŁY
- Zostanie wyświetlony błąd ORA
- Nie wybrano żadnych wierszy
- Żadne z powyższych
Answer: A. UNION Zwraca połączone wiersze z dwóch zapytań, sortując je i usuwając duplikaty.
23.What is true about the query given above?
- To zapytanie zwraca błąd ORA
- Wykonuje się pomyślnie, ale nie daje żadnych rezultatów
- Zapytania z różnych tabel nie mogą być używane z operatorami SET
- Zapytanie jest wykonywane pomyślnie i daje wyniki zgodnie z oczekiwaniami
Answer: D. Zapytanie złożone to jedno zapytanie składające się z kilku zapytań korzystających z różnych tabel.
24.What is the default sorting order of the results when UNION ALL operator is used?
- Descending
- Ascending
- Albo A, albo B.
- Wszystkie powyższe
Answer: B. Zapytanie złożone domyślnie zwróci wiersze posortowane we wszystkich kolumnach, od lewej do prawej w porządku rosnącym. Jedynym wyjątkiem jest UNION ALL, gdzie wiersze nie będą sortowane. Jedynym miejscem, w którym dozwolona jest klauzula ORDER BY, jest koniec zapytania złożonego.
25.What will be the output of the compound query in which columns in the SELECT are of CHAR and equal length?
- Dane wyjściowe będą miały typ danych VARCHAR2 o równej długości
- Dane wyjściowe będą miały typ danych CHAR o równej długości
- Dane wyjściowe będą miały typ danych CHAR o różnych długościach
- Dane wyjściowe będą miały typ danych NUMBER o równej długości
Answer: B. Kolumny w zapytaniach składających się na zapytanie złożone mogą mieć różne nazwy, ale zestaw wyników wyjściowych będzie używał nazw kolumn z pierwszego zapytania. Odpowiednie kolumny w zapytaniach składających się na zapytanie złożone muszą należeć do tej samej grupy typów danych.
26.What will be the output of the compound query in which columns in the SELECT are of CHAR and different lengths?
- Dane wyjściowe będą miały typ danych VARCHAR2 o równej długości
- Dane wyjściowe będą miały typ danych CHAR o równej długości
- Dane wyjściowe będą miały typ danych CHAR o różnych długościach
- Dane wyjściowe będą miały typ danych VARCHAR2 o długości większej wartości CHAR
Answer: D. Chociaż wybrane listy kolumn nie muszą być dokładnie tego samego typu danych, muszą należeć do tej samej grupy typów danych. Zestaw wyników zapytania złożonego będzie zawierał kolumny o wyższym poziomie dokładności.
27.What will be the output of a compound query if either or both queries select values of VARCHAR2?
- Dane wyjściowe będą miały typ danych VARCHAR2.
- Dane wyjściowe będą miały typ danych CHAR o równej długości
- Dane wyjściowe będą miały typ danych CHAR o różnych długościach
- Dane wyjściowe będą miały typ danych VARCHAR2 o długości większej wartości CHAR
Answer: A. Chociaż wybrane listy kolumn nie muszą być dokładnie tego samego typu danych, muszą należeć do tej samej grupy typów danych. Zestaw wyników zapytania złożonego będzie zawierał kolumny o wyższym poziomie dokładności.
28.What is true if the compound queries select numeric data?
- Wartości liczbowe, operatory, będą miały równe pierwszeństwo
- Zwracane wartości zostaną określone na podstawie pierwszeństwa liczbowego
- Zwracane wartości będą miały typ danych NUMBER
- Żadne z powyższych
Answer: B, C. Chociaż wybrane listy kolumn nie muszą być dokładnie tego samego typu danych, muszą należeć do tej samej grupy typów danych. Zestaw wyników zapytania złożonego będzie zawierał kolumny o wyższym poziomie dokładności.
29.What will happen if the SELECT list of the compound queries returns both a VARCHAR2 and a NUMBER data type result?
- Oracle przekonwertuje je niejawnie i zwróci wynik typu danych VARCHAR2
- Oracle przekonwertuje je niejawnie i zwróci wynik typu danych NUMBER
- Zgłaszany jest błąd ORA
- Żadne z powyższych
Answer: C. Oracle nie konwertuje niejawnie typów danych.
30.What is true about the UNION operator?
- Eliminuje zduplikowane wartości ignorując wartości NULL
- Zwraca zduplikowane wartości, ignorując wartości NULL
- Zwraca zduplikowane wartości, w tym wartości NULL
- Eliminuje zduplikowane wartości i nie ignoruje wartości NULL
Answer: D. Wartości NULL nie są ignorowane, gdy używany jest operator UNION
31.What can be said about the names and columns of a SQL query which uses the UNION operator?
- Nazwy kolumn powinny być identyczne
- Nazwy i typ danych kolumn powinny być identyczne
- Nazwy kolumn nie muszą być identyczne
- Żadne z powyższych
Answer: C. Kolumny w zapytaniach składających się na zapytanie złożone mogą mieć różne nazwy, ale zestaw wyników wyjściowych będzie używał nazw kolumn z pierwszego zapytania.
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 Zwraca połączone wiersze z dwóch zapytań, sortując je i usuwając duplikaty.
33.What will be the outcome of the above query?
- Dwukrotnie wyświetla aktualne i poprzednie szczegóły pracy pracowników
- Wyświetla aktualne i poprzednie szczegóły pracy pracowników tylko raz
- Albo A, albo B.
- Żadne z powyższych
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
- Żadne z powyższych
Answer: B. UNION Zwraca połączone wiersze z dwóch zapytań, sortując je i usuwając duplikaty. Duplikat mierzy się poprzez kombinację kolumn, a nie pojedynczą kolumnę oddzielnie.
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 rzędy
- 3 rzędy
- Żadnych rzędów
- Błąd ORA
Answer: B.
36.Which statements best describes the inference drawn from the questions 34 and 35?
- Istnieją zduplikowane wartości kodów zadań
- Zapytanie jest wykonywane, ale otrzymane wyniki są nieoczekiwane
- Nie ma zduplikowanych wartości dla działów
- Żadne z powyższych
Answer: C. Ponieważ kombinacja kodów stanowisk i działów jest wyjątkowa, nie ma żadnych duplikatów.
37.What will be the sorting in the result set obtained by the query?
- Malejąco na identyfikator pracownika
- Malejąco na identyfikator zadania
- Rosnąco na identyfikator pracownika
- Rosnąco według ID działu
Answer: C. Domyślne sortowanie będzie rosnące na podstawie pierwszej kolumny, czyli w tym przypadku: Identyfikator pracownika, jednak zachowanie to można zmodyfikować, umieszczając na końcu pojedynczą klauzulę ORDER BY.
38.Which of the following operators will be used to obtain duplicate records from the component queries?
- UNION
- UNIA WSZYSTKO
- MINUS
- Żadne z powyższych
Answer: B. UNION ALL nie eliminuje zduplikowanych wartości.
39.What is the difference between the UNION and the UNION ALL operators?
- Nie ma różnicy
- UNION ALL wyświetla również zduplikowane wartości
- Dane wyjściowe w przypadku UNION ALL nie są domyślnie sortowane
- Żadne z powyższych
Answer: B, C. W przypadku użycia z dwoma instrukcjami SELECT operator zestawu UNION zwraca wyniki obu zapytań. Jeśli jednak istnieją jakieś duplikaty, są one usuwane, a zduplikowany rekord jest wyświetlany tylko raz. Aby uwzględnić duplikaty w wynikach, użyj operatora zbioru UNION ALL
40.What is true about the INTERSECT operator?
- Liczba kolumn i typy danych kolumn w zapytaniach składowych powinny być takie same
- Nazwy kolumn i typy danych kolumn w zapytaniach składowych powinny być takie same
- Zarówno a jak i B
- Żadne z powyższych
Answer: A. Jest to wspólna cecha kryteriów właściwości operatorów SET.
41.What can be said about the result set if the order of the intersected tables is altered when using INTERSECT?
- Wynik jest zmieniony
- Wynik pozostaje ten sam
- Sortowanie zmienia się wraz ze zmianą
- Żadne z powyższych
Answer: B.
42.What among the following is true about the INTERSECT operator?
- Ignoruje wartości NULL
- Nie ignoruje wartości NULL
- Zwraca wszystkie wiersze z pierwszego zapytania składowego
- Żadne z powyższych
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;
- Żadne z powyższych
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?
- Wynik będzie taki sam
- Wynik będzie inny
- Wynik będzie taki sam, ale kolejność będzie inna
- Żadne z powyższych
Answer: A. Wynik można interpretować jako - pracownicy, którzy pracowali na tym samym stanowisku w tym samym dziale.
45.What is true about the MINUS operator?
- Zwraca wszystkie wiersze ze wszystkich zapytań składowych
- Zwraca tylko wspólne wiersze ze wszystkich zapytań składowych
- Zwraca wszystkie wiersze z pierwszego zapytania, a nie z kolejnych zapytań
- Zwraca wszystkie odrębne wiersze wybrane przez pierwsze zapytanie, ale nieobecne w kolejnych zapytaniach
Answer: D. Operator set MINUS usuwa wyniki drugiego zapytania z danych wyjściowych, jeśli znajdują się one również w wynikach pierwszego zapytania
46.What can be said regarding the number of columns and data types of the component queries when a MINUS operator is used?
- Powinny być takie same, typ danych może być inny, ale powinny należeć do tej samej grupy typów danych.
- Powinny być takie same wraz z nazwami kolumn
- Zarówno a jak i B
- Żadne z powyższych
Answer: A. Wspólna cecha operatorów 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?
- Zgłasza błąd, ponieważ nie można użyć TO_CHAR (NULL)
- Wykonuje się pomyślnie i podaje wartości identyfikatora, imienia i aktualnego stanowiska pracowników, w tym zduplikowanych wierszy
- Wykonuje się pomyślnie i podaje wartości identyfikatora pracowników, imię_nazwa i wszystkie zadania wykonywane przez pracowników z wyłączeniem zduplikowanych wierszy
- Żadne z powyższych
Answer: C. Każde zapytanie musi zawierać taką samą liczbę kolumn, które są porównywane pozycyjnie. Wartość NULL można zastąpić w miejsce kolumny, której brakuje w innym zapytaniu w ramach tego samego zapytania złożonego.
49.Considering the above query, if the UNION operator is replaced by the MINUS operator, what will the result mean?
- Wynik pokazuje tych pracowników, którzy mają wpis w tabeli JOB_HISTORY
- Wynik pokazuje tych pracowników, którzy nie mają wpisu w JOB_HISTORY, ale są obecni w tabeli EMPLOYEES
- Albo z A, albo B.
- Żadne z powyższych
Answer: B. MINUS daje unikalne wyniki, które są obecne w pierwszym zapytaniu, ale nie w drugim.
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;
- Wykonuje się pomyślnie, dając prawidłowe wyniki, w tym zduplikowane wartości
- Wykonuje się pomyślnie, dając prawidłowe wyniki, z wyłączeniem zduplikowanych wartości
- Zgłasza błąd ORA
- Żadne z powyższych
Answer: C. Kolumny CLOB lub LONG nie mogą znajdować się w klauzuli SELECT, gdy używane są operatory zbioru UNION.
51.What will be the outcome of the query if UNION is replaced with UNION ALL?
- Wykona pomyślnie, dając prawidłowe wyniki, w tym zduplikowane wartości
- Zgłasza błąd ORA
- Wykona pomyślnie, dając prawidłowe wyniki, z wyłączeniem zduplikowanych wartości
- Wykonuje się pomyślnie, ale daje nieprawidłowe wyniki.
Answer: B. Operatory .UNION, UNION ALL, INTERSECT i MINUS użyte z kolumną LONG lub CLOB generują błąd.
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. Operatorem SET, który zostanie użyty, będzie N-1, gdzie N to liczba zapytań składowych.
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?
- Połączenia poziome
- Połączenia kartezjańskie
- Połączenia pionowe
- Złącza zewnętrzne
Answer: C.
54.What is the difference between a UNION and INTERSECT operators? (Choose only the best difference)
- UNION łączy wyniki dwóch zapytań składowych w jeden zestaw wyników ze zduplikowanymi wartościami
- INTERSECT zwraca tylko te wiersze, które są zwracane przez każde z dwóch zapytań składowych
- UNION podaje różne wartości z zapytań składowych, INTERSECT podaje wspólne wartości z zapytań składowych
- Zarówno B, jak i 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
- UNIA WSZYSTKO
- INTERSECT
- Żadne z powyższych
Answer: B. UNION ALL Zwraca połączone wiersze z dwóch zapytań bez sortowania ani usuwania duplikatów.
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
- Żadne z powyższych
Answer: D. UNION ALL da nieposortowane wyniki z duplikatami.
57.What is the difference between the result sets when using a UNION and a UNION ALL set operators?
- Zestaw wyników z UNION ALL jest filtrowany, w tym zduplikowane wartości
- Zestaw wyników z UNION jest filtrowany i sortowany, w tym zduplikowane wartości
- Zestaw wyników z UNION ALL nie jest posortowany i ma zduplikowane wartości
- Zestaw wyników z UNION jest filtrowany i sortowany bez zduplikowanych wartości
Answer: C, D.
58.The UNION operator has more overhead on the database than the UNION ALL. What is wrong in this statement?
- To stwierdzenie jest poprawne
- Operator UNION ALL ma więcej narzutów w bazie danych niż operator UNION
- UNION musi sortować i eliminować duplikaty, co powoduje dodatkowe obciążenie
- Żadne z powyższych
Answer: A, C. UNION musi wykonać więcej zadań niż UNION ALL, ponieważ sortuje i deduplikuje zbiory wyników. Dlatego zaleca się, aby o ile nie są wymagane odrębne wiersze, należy używać opcji UNION ALL.
59.What will be the outcome if the two queries given above are combined using the INTERSECT operator?
- Wyświetli tylko tych pracowników, którzy są pracownikami działu 10
- Wyświetli wszystkich pracowników, którzy są w dziale 10
- Wyświetli wszystkich urzędników.
- Żadne z powyższych
Answer: A. INTERSECT zwraca te rekordy, które są obecne w zapytaniu 1 ORAZ zapytaniu 2.
60.What among the following is the difference between the INTERSECT and the UNION operators?
- INTERSECT jest zgodny z logiką Boole'a „AND”, UNION jest zgodny z logiką Boole'a „OR”
- UNION podąża za logiką „OR”, podczas gdy INTERSECT podąża za logiką „AND”
- Albo z A, albo B.
- Żadne z powyższych
Answer: A.
61.In which of the following SET operators, changing the order of the component queries will change the result set?
- UNION
- UNIA WSZYSTKO
- MINUS
- INTERSECT
Answer: C. MINUS Zwraca tylko te wiersze z pierwszego zestawu wyników, które nie pojawiają się w drugim zestawie wyników, sortując je i usuwając duplikaty.
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?
- Żadnych rzędów
- 4
- 1
- NULL
Answer: A. Żadne wiersze nie zostaną wybrane, ponieważ operator INTERSECT nie uzyska żadnych wspólnych wyników z obu zapytań - operatory INTERSECT dają typowe wyniki obecne w zapytaniu 1 ORAZ zapytaniu 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 daje wyniki, które są obecne w pierwszym zapytaniu i nieobecne w drugim zapytaniu.
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 utworzy odrębne wiersze w zestawie wyników w kolejności rosnącej.
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 wyświetla wyniki tak, jak są one umieszczone w zapytaniu, bez sortowania.
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
- Żadne z powyższych
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)
- Zwróci te wiersze, które są różne w obu tabelach
- Zwróci wspólne wiersze w obu tabelach
- Zwróci wszystkie wiersze z dwóch tabel
- Żadne z powyższych
Answer: A.
68.What can concluded if the above given query yields rows only from JOB_HISTORY table?
- Pokazuje, że JOB_HISTORY zawiera dwa wiersze różne od tabeli JOB_HISTORY_ARCHIVE
- Pokazuje, że dwa wiersze są takie same w tabelach JOB_HISTORY i JOB_HISTORY_ARCHIVE
- Pokazuje, że JOB_HISTORY_ARCHIVE zawiera dwa wiersze różniące się od tabeli JOB_HISTORY
- Żadne z powyższych
Answer: A.
69.What can be said if the above query gives no results?
- Pokazuje, że obie tabele zawierają te same dane
- Pokazuje, że zapytania składowe są nieprawidłowo umieszczone
- Pokazuje, że operatory SET są nieprawidłowo używane w zapytaniu złożonym
- Żadne z powyższych
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 (*) i GROUP BY worker_id
- COUNT (*) i ORDER BY identyfikator_pracownika
- Żadne z powyższych
Answer: B. Aby zobaczyć różnicę między tabelami, można użyć funkcji COUNT (*).
Consider the following query:
SELECT 1 NUM, 'employee' TEXT FROM dual
UNION
SELECT TO_CHAR(NULL) NUM, 'departments' TEXT FROM dual;
71.What will be the outcome of the query given above?
-
NUM TEXT ---------- ----------- 1 employee departments
-
NUM TEXT ---------- ----------- 1 employee NULL departments
- Błąd ORA
-
NUM TEXT ---------- ----------- departments 1 employee
Answer: C. W tym przypadku liczba 1 jest porównywana ze znakiem NULL, który generuje błąd „ORA-01790: wyrażenie musi mieć ten sam typ danych, co odpowiadające mu wyrażenie”.
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)
- Działa pomyślnie z poprawnymi wynikami
- Wykonuje się pomyślnie, ale bez rezultatów
- Zgłasza błąd ORA
- Żadne z powyższych
Answer: C. NUMBER i DATE nie należą do tego samego typu danych. Tutaj liczba uzyskana przez MONTHS_BETWEEN jest porównywana z DATĄ i stąd błąd.
73.Assume that the SELECT statement in the 2nd query is modified as below:
SELECT to_number (NULL) NUM FROM dual;
Jaki będzie wynik tej zmiany?
- Działa pomyślnie z poprawnymi wynikami
- Wykonuje się pomyślnie, ale bez rezultatów
- Zgłasza błąd ORA
- Żadne z powyższych
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;
Który z poniższych nagłówków kolumn zostanie wyświetlony w zestawie wyników?
- EMP ID
- numer identyfikacyjny pracownika
- EMPLOYEE_ID
- Błąd ORA, ponieważ nazwy kolumn muszą być takie same w zapytaniach o składniki.
Answer: B. Kolumny w zapytaniach składających się na zapytanie złożone mogą mieć różne nazwy, ale zestaw wyników wyjściowych będzie używał nazw kolumn z pierwszego zapytania.
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?
- Wyniki zostaną uporządkowane według identyfikatora pracownika z tabeli JOB_HISTORY
- Wyniki zostaną uporządkowane według identyfikatora pracownika z tabeli PRACOWNICY
- Nie będzie uporządkowania wyników
- Błąd ORA
Answer: D. ORDER BY należy wykonać na podstawie nazw kolumn z pierwszego zapytania, a nie z kolumn drugiego zapytania.
76.Which of the following ORDER BY clauses can replace the erroneous ORDER BY in the query given above?
- ZAMÓWIENIE PRZEZ e.employee_id
- ZAMÓWIENIE DO j.2
- ZAMÓWIENIE DO 1
- Żadne z powyższych poleceń ORDER BY nie jest dozwolone w zapytaniu
Answer: C. Jest to bardziej ogólna specyfikacja, a Oracle będzie porządkować dane na podstawie pierwszej kolumny pierwszego zapytania.
77.Consider the following exhibit and answer the question below:
SELECT au_doc
From audit
UNION
SELECT au_doc
From audit_yearly;
Jaki będzie wynik powyższego zapytania?
- Daje dokumenty audytowe między dwiema tabelami
- Daje błąd ORA podczas wykonywania
- Daje dokumenty audytowe z tabeli AUDYT
- Żadne z powyższych
Answer: B. Kolumn LONG nie można używać z operatorami SET.
78.Consider the query given below:
SELECT col_1
From TABLE (package1.proc1)
UNION
SELECT col_1
From TABLE (package2.proc2);
Jaki będzie wynik zapytania podanego powyżej?
- Działa pomyślnie z duplikatami
- Działa pomyślnie bez duplikatów
- Zgłasza błąd ORA
- Żadne z powyższych
Answer: C. Wyrażeń TABLE nie można używać z operatorami 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?
- Błąd ORA
- Employee_id i job_id
- Employee_id
- Żadne z powyższych
Answer: A. Klauzuli FOR UPDATE nie można używać w połączeniu z zapytaniem za pomocą operatorów SET.
80.What will be the outcome of the following query?
SELECT * from employees
UNION
SELECT job_id FROM job_history;;
- Poda wszystkie kolumny z tabel pracowników i tylko kolumnę job_id z tabeli job_history
- Wystąpi błąd, ponieważ liczba kolumn powinna być zgodna w zapytaniach składowych
- Ani B, ani C
- Żadne z powyższych
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 zostanie wykonane jako pierwsze, a następnie zestaw wyników przejdzie do instrukcji INTERSECT.
- Wykonanie INTERSECT poprzedzi wykonanie UNION i UNION ALL.
- Realizacja będzie wykonywana od prawej do lewej z uwzględnieniem wszystkich operatorów jednocześnie.
- Realizacja będzie wykonywana od lewej do prawej z uwzględnieniem wszystkich operatorów w tym samym czasie.
Answer: D.
82.Consider the query given below and answer the question that follow:
SELECT '3' FROM dual
INTERSECT
SELECT 3f FROM dual;
Co jest prawdą w odniesieniu do realizacji powyższego zapytania?
- Wykonuje się pomyślnie.
- Zgłasza błąd
- Daje wynik 3.
- Daje wynik 3f
Answer: B. Literały znakowe należy ująć w pojedyncze cudzysłowy.
83.Which of the following is false for set operators used in SQL queries?
- Operatory zbioru są poprawne, gdy są używane w kolumnach o typie danych LONG.
- Operatory zestawu nie są prawidłowe w kolumnach typu BLOB, CLOB, BFILE, VARRAY lub tabeli zagnieżdżonej.
- Aby zapytanie wybierające zawierało wyrażenie, należy podać alias kolumny, aby odnieść ją do klauzuli order_by_clause.
- Nie można używać tych operatorów w instrukcjach SELECT zawierających wyrażenia kolekcji TABLE.
Answer: A. Operatory SET nie są obsługiwane dla typów danych LONG, CLOB i 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;
Które klauzule ORDER BY są ważne dla powyższego zapytania? (Wybierz wszystkie, które dotyczą.)
- ZAMÓWIENIE DO 2,1
- ZAMÓWIENIE PRZEZ PRACOWNIKA_NO
- ZAMÓWIENIE DO 2, identyfikator_pracownika
- ZAMÓWIENIE PRZEZ „EMPLOYEE_NO”
Answer: A, C. Klauzula ORDER BY musi odwoływać się do kolumny poprzez jej pozycję lub nazwę, do której odwołuje się pierwsze zapytanie.
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?
- GRUPUJ WEDŁUG
- ZAMÓW PRZEZ
- 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 );
- Wyświetli wszystkie identyfikatory działów, które zawierają średnie i maksymalne pensje
- Spowoduje to wyświetlenie błędu ORA jako nie. kolumn wybranych w obu zapytaniach jest różna
- Wyświetli wszystkie identyfikatory działów, które mają średnie pensje
- Wyświetli wszystkie identyfikatory działów z maksymalnymi pensjami
Answer: B. Nie. kolumn powinno być takie samo.
87.What among the following is true about the UNION operator?
- UNION działa tylko na pierwszej kolumnie na liście SELECT
- UNION działa na pierwszych kolumnach list SELECT w zapytaniach składowych
- UNION działa na wszystkich wybranych kolumnach.
- Żadne z powyższych
Answer: C. UNION działa na wszystkich kolumnach na liście SELECT i nie ignoruje żadnych kolumn.
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?
- Nie jest możliwe użycie ORDER BY w indywidualnych zapytaniach, które składają się na zapytanie złożone.
- Klauzulę ORDER BY można dołączyć na końcu zapytania złożonego.
- Wiersze zwrócone przez UNION ALL będą w kolejności, w jakiej występują w dwóch zapytaniach źródłowych.
- Wiersze zwrócone przez UNION zostaną posortowane we wszystkich swoich kolumnach, od prawej do lewej.
Answer: A, B, C.
90.The UNION operator was used to fulfill which of the following function before the ANSI SQL syntax in place?
- PRAWE ZEWNĘTRZNE POŁĄCZENIE
- LEWE POŁĄCZENIE ZEWNĘTRZNE
- EQUI-JOIN
- PEŁNE POŁĄCZENIE ZEWNĘTRZNE
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;;
- Żadne z powyższych
Answer: B.
92.Consider the following query:
SELECT distinct job_id
FROM employees
NATURAL JOIN job_history ;
Które z poniższych zapytań są identyczne z powyższym?
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 Zwraca połączone wiersze z dwóch zapytań bez sortowania ani usuwania duplikatów.
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 Zwraca połączone wiersze z dwóch zapytań, sortując je i usuwając duplikaty.
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. MINUS Zwraca tylko te wiersze z pierwszego zestawu wyników, które nie pojawiają się w drugim zestawie wyników, sortując je i usuwając duplikaty.
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 Zwraca tylko te wiersze, które występują w zestawach wyników obu zapytań, sortując je i usuwając duplikaty.
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 ;
Powyższe zapytanie generuje błąd. Która linia w powyższym zapytaniu generuje błąd?
- 3
- 7
- 2
- Nie pojawia się żaden błąd
Answer: A. ORDER BY powinno pojawiać się tylko na końcu zapytania złożonego, a nie w zapytaniach składowych.
98.Which of the following SET operator features are supported in SQL/Foundation:2003 but not by Oracle?
- UNIA WSZYSTKO
- MINUS ALL
- INTERSECT ALL
- Z WYJĄTKIEM WSZYSTKICH
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, ponieważ INTERSECT ma wyższy priorytet niż MINUS.
- MINUS, ponieważ MINUS ma wyższy priorytet niż INTERSECT.
- Pierwszeństwo jest określane przez kolejność, w jakiej zostały określone.
- Nie jest możliwe, aby zapytanie złożone zawierało zarówno MINUS, jak i INTERSECT.
Answer: C. Wszystkie operatory zbiorów mają równy priorytet, więc pierwszeństwo jest określane przez kolejność, w jakiej występują.