Uzyskaj dane z wielu pytań dotyczących tabel

1.Which of the following is not related to a Relational Database?

  1. Selection
  2. Projection
  3. Joining
  4. Żadne z powyższych

Answer: D. Opcje A, B i C to główne możliwości relacyjnej bazy danych Oracle.

2.Which of the following methods is used for writing a query with columns from multiple tables?

  1. SELECT
  2. GRUPUJ WEDŁUG
  3. ZAMÓW PRZEZ
  4. JOINS

Answer: D. Łączenia służą do łączenia wielu tabel i danych kolumn projektu z wielu tabel w Oracle.

3.Which of the following is one of the most common methods to join multiple tables?

  1. Hash Join
  2. Equijoin
  3. Dołącz do siebie
  4. Łączenie krzyżowe

Answer: B. Equijoin to jeden z typów połączeń, który jest najczęstszą i najprostszą techniką łączenia więcej niż jednego stołu. Equijoins są również nazywane łączeniami prostymi lub łączeniami wewnętrznymi, które obejmują klucz podstawowy i klucz obcy.

4.Which of following will be used to join rows with other tables if the column values fall in a range defined by inequality operators?

  1. Equijoin
  2. Proste łączenie
  3. Non-equijoin
  4. Żadne z powyższych

Answer: C. Equijoins używają operatorów równości do łączenia wierszy, inne niż equijoins używają operatorów nierówności.

5.Which of the following statements is true about Oracle joins?

  1. Zestaw wyników zawiera wartości NULL
  2. Pobierane są tylko te wiersze, które mają zgodne warunki
  3. Pobierane są wszystkie wiersze, które są obecne w jednej z tabel
  4. Żadne z powyższych

Answer: B. Wartości NULL i różne wpisy we wspólnych kolumnach łączenia są wykluczane, gdy są używane łączenia.

6.Which of the following can be used to join the rows of a table with other rows of the same table?

  1. Equijoin
  2. Non-equijoin
  3. Połączenie zewnętrzne
  4. Self-join

Answer: D. Asocjacja jest oparta na kolumnach z logicznymi i zwykle hierarchicznymi relacjami między sobą.

7.What is true about a cartesian join of two tables in Oracle DB?

  1. Należy go unikać, ponieważ jest kosztowna i nie jest zoptymalizowana
  2. Tworzy się, gdy każdy wiersz z jednej tabeli jest połączony ze wszystkimi wierszami z drugiej tabeli
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: B. Łączenie kartezjańskie jest często wynikiem braku lub nieodpowiednich warunków łączenia, jest po prostu iloczynem krzyżowym dwóch tabel.

8.Which of the following is one of the basic types of joins in Oracle DB ?

  1. Połączenie zewnętrzne
  2. Self-join
  3. Equi-join
  4. Wszystkie powyższe

Answer: C. Łączenie równe i nierównomierne to dwa podstawowe typy sprzężeń w Oracle DB.

9.What is the main condition for using joins between a source table and a target table in Oracle DB for getting a non-cartesian product result?

  1. Nie ma żadnego warunku
  2. Co najmniej jedna z kolumn w obu tabelach powinna być wspólna.
  3. Nazwy kolumn w obu łączonych tabelach powinny być takie same, aby używać łączeń
  4. Żadne z powyższych

Answer: B. Tabele muszą być połączone wspólną kolumną odnoszącą się do dwóch podmiotów. Tabela połączona we wspólnej kolumnie daje produkt niekartezjański.

10. Which of the following can be used to fetch rows from multiple tables in a single SQL query?

  1. SELECT
  2. WHERE
  3. FROM
  4. Equi-joins

Answer: D. Equijoins nazywane są również połączeniami prostymi lub połączeniami wewnętrznymi. Equijoin obejmuje klucz podstawowy i klucz obcy.

11.What is true about the source table and the target table in terms of Oracle Joins?

  1. Muszą mieć co najmniej jedną kolumnę o tej samej nazwie
  2. Wszystkie kolumny powinny mieć tę samą nazwę i ten sam typ danych, aby połączyć dwie tabele
  3. Tabele źródłowa i docelowa nie mogą zostać zamienione i są zależne od pozycji
  4. Żadne z powyższych

Answer: D. Tabele źródłowa i docelowa mogą być zamieniane i nie są ustalane na swoich pozycjach W zależności od typu sprzężenia użytego w zapytaniu, wynik może się różnić lub pozostać taki sam.

12.What is true about Natural joins in Oracle DB?

  1. Nazwy kolumn tabeli źródłowej i docelowej powinny być identyczne
  2. Jeśli nazwy kolumn tabeli źródłowej i docelowej nie są takie same, Oracle niejawnie wykonuje niezbędne czynności
  3. NATURALNE POŁĄCZENIA, UŻYWANIE i WŁĄCZENIE to słowa kluczowe związane z naturalnymi połączeniami
  4. Wszystkie powyższe

Answer: C. Słowo kluczowe NATURAL JOIN instruuje Oracle, aby identyfikował kolumny o identycznych nazwach między tabelami źródłową i docelową. W sprzężeniach naturalnych do łączenia tabel używane są wszystkie kolumny z pasującymi nazwami i typami danych. Klauzula USING może służyć do określenia tylko tych kolumn, które powinny być używane dla equijoin.

13.Assume the tables EMPLOYEES and DEPARTMENT have to be joined using NATURAL JOIN. What is the difference between the following two queries which follow? (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 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 NATURAL JOIN department
WHERE first_name = 'John'
AND last_name = 'Bacon';
SELECT department_id 
FROM department NATURAL JOIN employees
WHERE first_name = 'John'
AND last_name = 'Bacon';
  1. Nie ma różnicy
  2. Wynik jest inny w obu przypadkach
  3. Oba zapytania spowodują błąd ORA podczas wykonywania
  4. Żadne z powyższych

Answer: B. Tabele źródłowa i docelowa mogą być zamieniane podczas używania NATURAL JOIN, dając relatywnie różne zestawy wyników.

14.Which of the following options is true regarding the NATURAL JOIN in Oracle DB?

  1. Podczas korzystania z NATURAL JOIN podanie nazw wszystkich kolumn z obu tabel jest obowiązkowe
  2. NATURAL JOIN można użyć tylko wtedy, gdy nazwy wszystkich kolumn obu tabel są identyczne
  3. Łączenie w NATURAL JOIN ma miejsce tylko wtedy, gdy użytkownik określi kolumny tabeli źródłowej i docelowej.
  4. Nie ma potrzeby wspominania o kolumnach podczas korzystania z NATURALNYCH POŁĄCZEŃ.

Answer: D. W przypadku użycia NATURAL JOIN następuje niejawne łączenie kolumn ze źródła i tabel docelowych. NATURAL JOIN to operacja JOIN, która tworzy za ciebie niejawną klauzulę łączenia na podstawie wspólnych kolumn w dwóch łączonych tabelach. Wspólne kolumny to kolumny, które mają tę samą nazwę w obu tabelach.

15. What is the difference between a NATURAL JOIN and a join with JOIN..ON?

  1. Nie ma różnicy między nimi
  2. JOIN..ON łączy tabele źródłowe i docelowe w określonych kolumnach o tej samej nazwie
  3. NATURAL JOIN niejawnie łączy wszystkie zgodne kolumny z tabeli źródłowej i docelowej
  4. Żadne z powyższych

Answer: B, C. Warunek sprzężenia dla sprzężenia naturalnego jest w zasadzie równością wszystkich kolumn o tej samej nazwie. Użyj klauzuli ON, aby określić dowolne warunki lub określić kolumny do łączenia. Warunek łączenia jest oddzielony od innych warunków wyszukiwania. Klauzula ON sprawia, że ​​kod jest łatwy do zrozumienia.

16.What is true about the JOIN..ON clause in Oracle DB?

  1. Nie zależy od kolumn w tabeli źródłowej i docelowej o identycznych nazwach
  2. W tej klauzuli mogą być używane tylko te kolumny z tabel źródłowych i docelowych, które mają identyczne nazwy
  3. Jest to format NATURAL JOIN
  4. Wszystkie powyższe

Answer: A, C. Warunkiem sprzężenia dla naturalnego sprzężenia jest w zasadzie znak równości wszystkich kolumn o tej samej nazwie. Użyj klauzuli ON, aby określić dowolne warunki lub określić kolumny do połączenia. Warunek łączenia jest oddzielony od innych warunków wyszukiwania. Klauzula ON sprawia, że ​​kod jest łatwy do zrozumienia.

17. The database designer has named the key (unique) columns from two tables differently.While joining these tables, which among the following will be the best practice?

  1. JOIN..ON
  2. Klauzule NATURAL JOIN lub JOIN ... ON
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: A. Używanie NATURAL JOINS w tym przypadku może dać nieoczekiwane rezultaty, ponieważ następuje niejawne przeszukiwanie kolumn o identycznych nazwach, których w tym przypadku nie ma.

18.What of the following can be used to fetch non-matching rows along with the matching rows between a source and a target table in Oracle DB?

  1. EQUI-JOIN
  2. SELF-JOIN
  3. NATURALNE DOŁĄCZENIE
  4. OUTER-JOIN

Answer: D. Sprzężenie zewnętrzne jest tworzone, gdy rekordy muszą być uwzględnione w wynikach bez odpowiadających im rekordów w tabelach łączenia. Te rekordy są dopasowywane do rekordów NULL, aby były uwzględniane w danych wyjściowych.

19. What are Cartesian Joins also known as in Oracle DB?

  1. Equi-join
  2. Anti-join
  3. Cross-Join
  4. Żadne z powyższych

Answer: C. Sprzężenie kartezjańskie między dwiema tabelami zwraca każdą możliwą kombinację wierszy z tabel. Sprzężenie kartezjańskie można utworzyć, nie uwzględniając operacji łączenia w zapytaniu lub używając funkcji CROSS JOIN.

20.What will be the result of a NATURAL JOIN between two tables EMPLOYEES and DEPARTMENT as given in the query below? (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 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 * FROM employees NATURAL JOIN department;
  1. Wspólna kolumna DEPARTMENT_ID o identycznej nazwie w obu tabelach pojawi się dwukrotnie w zestawie wyników
  2. Wszystkie kolumny o identycznych nazwach połączonych NATURALNYM JOIN pojawią się dwukrotnie w zestawie wyników
  3. Zestaw wyników będzie miał tylko jedną kolumnę dla każdej pary identycznie nazwanych kolumn z obu tabel
  4. Żadne z powyższych

Answer: C. Słowa kluczowe NATURAL JOIN nie wymagają warunku do ustanowienia relacji między dwiema tabelami. Jednak musi istnieć wspólna kolumna. Kwalifikatorów kolumn nie można używać ze słowami kluczowymi NATURAL JOIN.

21.What is the difference between a NATURAL JOIN and an EQUI-JOIN in Oracle DB?

  1. Nie ma różnicy
  2. Są takie same w odniesieniu do zestawu wyników, który jest uzyskiwany z obu
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: D. NATURAL JOIN łączy wszystkie kolumny o identycznych nazwach, podczas gdy EQUI-JOIN wymaga, aby kolumny były jawnie wymienione w zapytaniu SQL.

22.What is an INNER JOIN in Oracle DB?

  1. Łączenie dające pasujące rekordy między dwiema tabelami nazywa się WEWNĘTRZNYM JOIN
  2. Sprzężenie wewnętrzne może używać operatorów, takich jak <,>, <>
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C. Sprzężeniem może być sprzężenie wewnętrzne, w którym jedyne zwrócone rekordy mają pasujący rekord we wszystkich tabelach lub sprzężenie zewnętrzne, w którym rekordy mogą zostać zwrócone niezależnie od tego, czy w łączeniu znajduje się pasujący rekord.

23.What is the difference between a INNER JOIN and an EQUI-JOIN in Oracle DB?

  1. Są takie same pod względem składni i uzyskanych zestawów wyników.
  2. WEWNĘTRZNE JOIN jest podzbiorem EQUI-JOIN
  3. INNER JOIN może używać operatorów takich jak <,>, <> wraz z "=", podczas gdy EQUI-JOIN używa tylko operatora "="
  4. Wszystkie powyższe

Answer: C. EQUI-JOIN jest typem INNER JOIN zawierającym operator "=" w warunku łączenia, podczas gdy INNER JOIN może zawierać zarówno operatory równości, jak i nierówności

24.What is true about NATURAL JOINS in terms of ANSI SQL: 1999 syntaxes in Oracle DB?

  1. Używany jest operator równości (=)
  2. Otrzymują inne wyniki w porównaniu z tradycyjną składnią
  3. W składni ANSI SQL w zapytaniach SQL używane są takie słowa, jak NATURAL JOIN
  4. Żadne z powyższych.

Answer: C. Składnia ANSI SQL różni się od tradycyjnego sposobu używania znaku (=) w tradycyjny sposób. W składni ANSI SQL znajdują się słowa kluczowe, takie jak NATURAL JOIN itp., Aby rozróżnić używane łączenia.

25.What of the following is true with respect to the query given below? (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 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 first_name, salary
FROM employees e, departments d
WHERE e.department_id  (+) = d.department_id ;
  1. Istnieje sprzężenie zewnętrzne między id_działu z obu tabel, które jest równoważne sprzężeniu Right Outer w języku ANSI SQL
  2. Istnieje sprzężenie zewnętrzne między id_działu z obu tabel, które jest równoważne sprzężeniu Left Outer w języku ANSI SQL
  3. Pobiera wszystkie rekordy identyfikatora działu z tabeli pracowników, niezależnie od tego, czy są zgodne, czy nie
  4. Pobiera wszystkie rekordy id_ działu z tabeli działów, niezależnie od tego, czy są zgodne, czy nie

Answer: A, D. Warunek e.department_id (+) = d.department_id oznacza, że ​​wykona on Right Outer Join i wszystkie identyfikatory działów z tabeli działów będą wyświetlane niezależnie od tego, czy są zgodne, czy nie

26.Which of the following syntax models is used in extensively in the software systems worldwide?

  1. ANSI SQL: 1999
  2. Zarówno tradycyjna składnia Oracle, jak i składnia ANSI SQL: 1999
  3. Tradycyjna składnia Oracle
  4. Wszystkie opcje

Answer: C. Składnia ANSI SQL: 1999, chociaż nie jest używana tak bardzo, jak tradycyjna składnia Oracle, nadal jest jedną ze składni, które mogą być używane w Oracle SQL

27.What of the following is true regarding the Cartesian product in Oracle DB?

  1. Jeśli „N” jest liczbą połączonych tabel, to jeśli nie. łączeń to N-1, iloczyn kartezjański nie jest wykonywany
  2. Jeśli „N” jest liczbą połączonych tabel, to jeśli nie. z łączeń to N, wykonywany jest iloczyn kartezjański
  3. Jeśli „N” jest liczbą połączonych tabel, to jeśli nie. łączeń to N + 1, wykonywany jest iloczyn kartezjański
  4. Jeśli „N” jest liczbą połączonych tabel, to jeśli nie. łączeń wynosi N-1 lub mniej, wykonywany jest iloczyn kartezjański.

Answer: A. Sprzężenie kartezjańskie między dwiema tabelami zwraca każdą możliwą kombinację wierszy z tabel. Sprzężenie kartezjańskie można utworzyć, nie uwzględniając operacji łączenia w zapytaniu lub używając funkcji CROSS JOIN. Kwerenda musi mieć co najmniej (N-1) warunki łączenia, aby zapobiec produktowi kartezjańskiemu, gdzie N to liczba tabel w zapytaniu.

28.What is the reason of error in the following SQL query? (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 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 first_name, last_name
FROM employees, departments
WHERE department_id (+) = department_id ;
  1. Nie ma aliasów używanych dla tabel.
  2. Słowo RIGHT OUTER JOIN nie jest tutaj używane, dlatego zgłasza błąd
  3. Znak (+) powinien znajdować się po prawej stronie warunku równości, a nie po lewej stronie
  4. Aliasy tabel powinny być używane z identyfikatorem działu w warunku, aby usunąć niejednoznaczne nazewnictwo

Answer: D. Bez aliasów tabel Oracle nie jest w stanie określić pochodzenia łączonych kolumn i dlatego podczas wykonywania generuje błąd niejednoznaczności.

29.Which of the following is used to avoid the ambiguous column problem in Oracle DB?

  1. ;
  2. ,
  3. .
  4. /

Answer: C. Składnia usuwania problemu z niejednoznacznymi kolumnami to: alias_tabeli.nazwa_kolumny

30.Which of the following is the most appropriate about the following query? (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 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 employee_id , first_name, last_name
FROM employees e right outer join department d
On e.department_id  = d.department_id ;
  1. Podaje dane pracowników, których nie ma w żadnym dziale
  2. Podaje szczegóły tych działów, które nie mają żadnego pracownika
  3. Zawiera szczegółowe informacje o wszystkich działach, niezależnie od tego, czy mają pracowników, czy nie
  4. Podaje dane pracowników zatrudnionych w firmie „ABC” niezależnie od działów.

Answer: C. Za pomocą metody JOIN dla złączeń zewnętrznych można dodać słowa kluczowe LEFT, RIGHT lub FULL. Lewe sprzężenie zewnętrzne obejmuje wszystkie rekordy z tabeli wymienionej po lewej stronie sprzężenia, nawet jeśli w operacji łączenia nie zostanie znalezione żadne dopasowanie do innej tabeli. Pełne sprzężenie zewnętrzne obejmuje wszystkie rekordy z obu tabel, nawet jeśli nie znaleziono odpowiedniego rekordu w drugiej tabeli.

31.What will be the outcome of the following query? (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 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 *
FROM employees e, department d
WHERE a.department_id  = b.department_id ;
  1. Poda wszystkie pasujące wartości z obu tabel, które mają ten sam identyfikator działu
  2. Poda wszystkie kolumny z tabeli pracowników i tylko 100 pierwszych wierszy z tabeli działów
  3. Wystąpi błąd ORA: „b.department_id” nieprawidłowy identyfikator
  4. Żadna z powyższych opcji

Answer: C. W klauzuli WHERE powinny znajdować się takie same aliasy, jak zadeklarowane w klauzuli FROM

32.Which of the following is true regarding the USING and ON clauses in table joins? (Choose more than one options if applicable)

  1. Klauzula ON może służyć do łączenia tabel w kolumnach o tym samym typie danych, ale niekoniecznie o tej samej nazwie
  2. Klauzule USING i ON są używane tylko w przypadku equijoins i non-equijoins
  3. Z klauzulą ​​ON można użyć nie więcej niż jednego warunku
  4. Klauzulę WHERE można zapisać po klauzuli USING..ON, aby zastosować dodatkowe warunki

Answer: A, D. Podejście JOIN ... USING jest podobne do podejścia NATURAL JOIN, z wyjątkiem tego, że wspólna kolumna jest określona w klauzuli USING. W klauzuli USING nie można uwzględnić warunku, aby wskazać, w jaki sposób tabele są powiązane. Ponadto kwalifikatory kolumn nie mogą być używane dla wspólnej kolumny określonej w klauzuli USING. Podejście JOIN ... ON łączy tabele na podstawie określonego warunku. Słowo kluczowe JOIN w klauzuli FROM wskazuje tabele, które mają zostać połączone, a klauzula ON wskazuje, jak te dwie tabele są powiązane. To podejście należy zastosować, jeśli łączone tabele nie mają wspólnej kolumny o tej samej nazwie w każdej tabeli.

33.How many tables can be joined by using the JOINS in Oracle DB?

  1. 1
  2. 2
  3. 255
  4. Bez limitu

Answer: D. Obecnie nie ma ograniczenia liczby stołów uczestniczących w złączeniu.

34. What is true when multiple joins are used in an SQL statement?

  1. Połączenia są oceniane od lewej do prawej
  2. Połączenia są oceniane od prawej do lewej
  3. Nie ma pierwszeństwa w procesie oceny połączeń
  4. Żadne z powyższych

Answer: A. Jeśli w instrukcji istnieje wiele sprzężeń, są one oceniane od lewej do prawej.

35.What is true with respect to the following query? (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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
SQL> desc bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SELECT bonus, first_name, department_id 
FROM bonus b NATURAL JOIN employees e NATURAL JOIN department d;
  1. Użycie NATURAL JOIN do łączenia wielu tabel jest lepszą opcją i daje dokładne wyniki
  2. Prawdopodobieństwo błędu jest znacznie mniejsze, gdy do łączenia wielu tabel używane są NATURALNE SPRZĘŻENIA
  3. Klauzule USING..JOIN..ON dają dokładniejsze wyniki niż NATURAL JOIN podczas łączenia wielu tabel
  4. Oracle niejawnie łączy wiele tabel, gdy używane jest NATURAL JOIN, dlatego dobrą praktyką jest używanie NATURAL JOINS

Answer: C. Użycie NATURALNYCH SPRZĘŻEŃ może tworzyć iloczyn kartezjański wierszy, a także jest podatne na błędy z niezależnymi zestawami wyników.

36.What is true about the clauses JOIN..ON in Oracle DB?

  1. Nie są one zbyt niezawodne w porównaniu z NATURALNYMI POŁĄCZENIami podczas łączenia wielu stołów
  2. Klauzula JOIN..ON jest podobna do klauzuli WHERE, która ogranicza wiersze z warunkami
  3. Dodatkowa klauzula WHERE jest obowiązkowa, gdy używana jest klauzula JOIN..ON
  4. Żadne z powyższych

Answer: B. Podejście JOIN .... ON łączy tabele na podstawie określonego warunku. Słowo kluczowe JOIN w klauzuli FROM wskazuje tabele, które mają zostać połączone, a klauzula ON wskazuje, jak te dwie tabele są powiązane. To podejście należy zastosować, jeśli łączone tabele nie mają wspólnej kolumny o tej samej nazwie w każdej tabeli.

Examine the table structures as given. Answer the questions 37 and 38 that follow the query given below:

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 e.salary, d.department_id 
FROM employees e JOIN department d
On (e.department_id  = d.department_id  and e.last_name = 'Brandon');

37.What is true with respect to the query given above?

  1. Daje błąd ORA, ponieważ obowiązkowa klauzula WHERE nie jest obecna
  2. Klauzula JOIN..ON nie może zawierać więcej niż jednego warunku
  3. Zapytanie ignoruje ostatni warunek i jest wykonywane bez błędu ORA
  4. Klauzulę JOIN..ON można zapisać w formie podanej powyżej, aby wprowadzić więcej warunków.

Answer: D. Klauzulę WHERE można pominąć, a odpowiednie warunki można uwzględnić w samej klauzuli JOIN..ON, jak pokazano w zadanym zapytaniu

38.With respect to the given query, if the JOIN used is replaced with NATURAL JOIN, it throws an error. What is the reason for this error?

  1. W przypadku użycia NATURAL JOIN klauzula WHERE jest obowiązkowa, a jej pominięcie powoduje błąd
  2. Klauzulę ON należy zastąpić klauzulą ​​USING
  3. Słowa NATURALNY, JOIN i USING występują wzajemnie wyłącznie w kontekście tej samej klauzuli łączenia
  4. Zapytanie nie może łączyć klauzul NATURAL JOIN i ON (lub USING) podczas łączenia.

Answer: C, D.

39.What is true about Non-equijoins in Oracle DB?

  1. Łączą się na podstawie słowa kluczowego NON-EQUI JOIN
  2. Są używane przy użyciu klauzuli JOIN..ON ze znakiem „=”
  3. Wyniki uzyskuje się, gdy wynik wspomnianej nierówności jest prawdziwy.
  4. Żadne z powyższych

Answer: C. Łączenia inne niż równe są używane z klauzulą ​​JOIN..ON, ale z operatorami nierówności.

Examine the structures of the tables EMPLOYEES and DEPARTMENTS as given and answer the questions 40 and 41 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)

40.What will be the outcome of the following query in Oracle DB?

SELECT e.first_name, e.last_name, e.employee_id 
FROM employees e JOIN department d
ON (e.salary BETWEEN 1000 AND 10000);
  1. Spowoduje to zgłoszenie błędu ORA, ponieważ warunek w klauzuli ON jest nieprawidłowy.
  2. Wystąpi błąd ORA z powodu błędu składniowego, ponieważ w klauzuli ON nie ma znaku równości „=”
  3. Wykona pomyślnie i poda imię, nazwisko oraz identyfikator pracownika pracowników z wymienionym stanem.
  4. Łączenia inne niż równe mogą być używane tylko do pokazywania nierówności, a nie zakresów.

Answer: C.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Wynik operacji dopasowania nierówności jest prawdziwy
  2. Wynik operacji dopasowania nierówności to 0
  3. Wynik operacji dopasowania nierówności to 1
  4. Wynik operacji dopasowania nierówności jest fałszywy

Answer: A. Sprzężenie równości jest tworzone, gdy dane łączące rekordy z dwóch różnych tabel są dokładnym dopasowaniem (to znaczy warunek równości tworzy relację). Tradycyjne podejście używa znaku równości jako operatora porównania w klauzuli WHERE. Podejście JOIN może wykorzystywać słowa kluczowe NATURAL JOIN, JOIN ... USING lub JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Wynik operacji dopasowania nierówności jest prawdziwy
  2. Wynik operacji dopasowania nierówności to 0
  3. Wynik operacji dopasowania nierówności to 1
  4. Wynik operacji dopasowania nierówności jest fałszywy

Answer: A. Sprzężenie równości jest tworzone, gdy dane łączące rekordy z dwóch różnych tabel są dokładnym dopasowaniem (to znaczy warunek równości tworzy relację). Tradycyjne podejście używa znaku równości jako operatora porównania w klauzuli WHERE. Podejście JOIN może wykorzystywać słowa kluczowe NATURAL JOIN, JOIN ... USING lub JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Wynik operacji dopasowania nierówności jest prawdziwy
  2. Wynik operacji dopasowania nierówności to 0
  3. Wynik operacji dopasowania nierówności to 1
  4. Wynik operacji dopasowania nierówności jest fałszywy

Answer: A. Sprzężenie równości jest tworzone, gdy dane łączące rekordy z dwóch różnych tabel są dokładnym dopasowaniem (to znaczy warunek równości tworzy relację). Tradycyjne podejście używa znaku równości jako operatora porównania w klauzuli WHERE. Podejście JOIN może wykorzystywać słowa kluczowe NATURAL JOIN, JOIN ... USING lub JOIN ... ON.

41.You need to find a report which lists the first names and last names of the employees whose salary is greater than 20000 and who are located in any of the departments in the location Geneva. Which of the following queries will give the required results?

  1. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    AND d.loc = upper ('Geneva');
  2. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000);
  3. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >=20000)
    AND d.loc = 'Geneva';
  4. SELECT e.first_name, e.last_name
    FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id  and e.salary >20000)
    WHERE d.loc = upper('Geneva');

Answer: A, C.

42.On which of the following conditions is a row returned when an EQUI-JOIN is used to join tables?

  1. Wynik operacji dopasowania nierówności jest prawdziwy
  2. Wynik operacji dopasowania nierówności to 0
  3. Wynik operacji dopasowania nierówności to 1
  4. Wynik operacji dopasowania nierówności jest fałszywy

Answer: A. Sprzężenie równości jest tworzone, gdy dane łączące rekordy z dwóch różnych tabel są dokładnym dopasowaniem (to znaczy warunek równości tworzy relację). Tradycyjne podejście używa znaku równości jako operatora porównania w klauzuli WHERE. Podejście JOIN może wykorzystywać słowa kluczowe NATURAL JOIN, JOIN ... USING lub JOIN ... ON.

43.What is true regarding a Self-Join in Oracle DB?

  1. Aby połączenie działało, potrzebne są tylko dwie tabele
  2. Kolumny w zestawie wyników są pobierane z dwóch tabel, ale są wyświetlane w jednej tabeli
  3. Koncepcyjnie tabela źródłowa powiela się, aby utworzyć tabelę docelową. (Oracle nie powiela tabel)
  4. Wszystkie powyższe

Answer: C. Łączenia samoczynne są używane, gdy tabela musi być połączona ze sobą, aby pobrać potrzebne dane. Aliasy tabel są wymagane w klauzuli FROM, aby wykonać samosprzężenie.

44. With respect to the query and the table structure given below,answer the question.

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 *
FROM employees a join employees b
WHERE a.employee_id  = b.employee_id ;

Którą z poniższych tabel Oracle traktuje jako tabelę źródłową i tabelę docelową?

  1. a jest źródłem, a b jest celem
  2. b jest źródłem, a a jest celem
  3. Oracle nie traktuje żadnej z tabel jako źródła ani celu
  4. Żadne z powyższych

Answer: A. Pierwsze wystąpienie tabeli pracowników jest traktowane jako źródło, a kolejne wystąpienia jako b, c i tak dalej.

45.In what scenarios can we use Self-Joins ideally in Oracle DB?

  1. Kiedy musimy znaleźć zduplikowane rekordy w tabeli
  2. Kiedy musimy uzyskać wartości NULL z tabeli
  3. Kiedy musimy dwukrotnie wyświetlić kolumnę tabeli
  4. Kiedy potrzebujemy wyświetlić hierarchię odpowiednich podmiotów

Answer: D.

46. What is true about NATURAL JOINS in Oracle DB?

  1. Połączone kolumny mają tę samą nazwę, ale mogą mieć różne typy danych
  2. Połączone kolumny mogą mieć ten sam typ danych, ale różne nazwy
  3. Połączone kolumny powinny mieć identyczne nazwy i ten sam typ danych
  4. Żadne z powyższych

Answer: C. Słowa kluczowe NATURAL JOIN nie wymagają warunku do ustanowienia relacji między dwiema tabelami. Jednak musi istnieć wspólna kolumna.Kwalifikatorów kolumn nie można używać ze słowami kluczowymi NATURAL JOIN.

47.A report has to be extracted which gives the department name, department ID, department city and location ID only for departments 100 and 101. Using NATURAL JOINS, which of the following options will give the required results?

  1. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations 
    WHERE department_id in (100,101);
  2. SELECT department_id , department_name  ,location, city
    FROM locations 
    NATURAL JOIN departments 
    WHERE department_id BETWEEN 100 AND 101;
  3. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations 
    WHERE department_id >100
    AND department_id >101;
  4. SELECT department_id , department_name  ,location, city
    FROM departments 
    NATURAL JOIN locations ;

Answer: A. WHERE może być używany dla dodatkowych warunków po klauzuli NATURAL JOIN.

48.In which of the following scenarios shall a USING clause or a NATURAL JOIN clause be used?

  1. Jeśli nazwy kolumn w tabelach są identyczne, użyj klauzuli USING
  2. Jeśli typy danych w kolumnach z tabel są identyczne, użyj NATURALNYCH POŁĄCZEŃ
  3. Jeśli kilka kolumn ma takie same nazwy, ale typy danych nie są zgodne, można użyć USING
  4. POŁĄCZENIA NATURALNE powinny być używane tylko wtedy, gdy nazwy kolumn i ich typy danych są takie same

Answer: C, D. NATURAL JOINS i USING wykluczają się wzajemnie, klauzula USING powinna być używana do dopasowania tylko jednej kolumny, gdy pasuje więcej niż jedna kolumna.

49.Examine the table structures given. What will be the outcome of the following query? (Choose the most appropriate answer)

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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SELECT e.name, b.bonus
FROM employees e 
JOIN bonus b
USING (job_id)
WHERE e.job_id  like 'SA%');
  1. Podaje imiona i bonusy otrzymane przez wszystkich pracowników w jakiejś firmie
  2. Podaje nazwiska i premię, jaką wszyscy pracownicy otrzymują na danym stanowisku w firmie
  3. Wykonuje się z powodzeniem, podając wszystkie nazwiska i premię uzyskaną przez wszystkich pracowników na wszystkich stanowiskach
  4. Zgłasza błąd ORA.

Answer: D. Kolumny użyte w klauzuli USING nie powinny mieć kwalifikatora (nazwy tabeli lub aliasu) w żadnym miejscu w instrukcji SQL.

50.What is true with respect to INNER JOINS and OUTER JOINS in Oracle DB?

  1. INNER JOIN zwraca tylko wiersze, które są dopasowane
  2. OUTER JOIN zwraca tylko wiersze, które nie zostały dopasowane
  3. OUTER JOIN zwraca wiersze, które są dopasowane, a także te, które nie pasują
  4. Żadne z powyższych

Answer: A, C. Sprzężeniem może być sprzężenie wewnętrzne, w którym jedyne zwrócone rekordy mają pasujący rekord we wszystkich tabelach, lub sprzężenie zewnętrzne, w którym rekordy mogą zostać zwrócone niezależnie od tego, czy w łączeniu znajduje się pasujący rekord. rekordy muszą być uwzględnione w wynikach bez odpowiadających im rekordów w tabelach łączenia. Te rekordy są dopasowywane do rekordów NULL, aby były uwzględniane w danych wyjściowych.

51. What is true regarding FULL OUTER JOIN in Oracle DB?

  1. Kiedy oba LEFT OUTER JOIN i RIGHT OUTER JOIN pojawiają się w tym samym zapytaniu, nazywa się to FULL OUTER JOIN
  2. PEŁNE POŁĄCZENIE ZEWNĘTRZNE to to samo, co POŁĄCZENIE ZEWNĘTRZNE
  3. Zarówno a jak i B
  4. Sprzężenie między dwiema tabelami, które zwraca wyniki sprzężenia WEWNĘTRZNEGO i LEWEGO i PRAWEGO SPRZĘŻENIA ZEWNĘTRZNEGO nazywa się FULL OUTER JOIN

Answer: D. Pełne sprzężenie zewnętrzne obejmuje wszystkie rekordy z obu tabel, nawet jeśli nie znaleziono odpowiedniego rekordu w drugiej tabeli.

Examine the given table structures and answer the questions 52 and 53 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
SQL> desc bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)

52.Consider the following query.

SELECT e.job_id , e.first_name, d.department_id 
FROM departments D JOIN employees e JOIN BONUS b
USING (job_id );

To zapytanie powoduje błąd. Jaka jest przyczyna błędu?

  1. JOIN..USING może mieć miejsce tylko pomiędzy dwoma stołami naraz
  2. Klauzula USING w zapytaniu nie zawiera żadnej kolumny z działu
  3. W zapytaniu nie ma klauzuli WHERE
  4. Żadne z powyższych

Answer: A. Tabela1 JOIN tabela2 JOIN tabela3 nie jest dozwolona bez klauzul ON między każdym JOIN

53.You need to display all the non-matching rows from the EMPLOYEES table and the non-matching rows from the DEPARTMENT table without giving a Cartesian product of rows between them. Which of the following queries will give the desired output?

  1. SELECT *
    FROM employees e, department d
    WHERE e.department_id  = d.department_id ;
  2. SELECT *
    FROM employees e NATURAL JOIN department d;
  3. SELECT *
    FROM employees e FULL OUTER JOIN department d
    ON  e.department_id  = d.department_id ;
  4. SELECT *
    FROM employees e JOIN  department d
    ON ( e.department_id  > d.department_id ) ;

Answer: C. Funkcja FULL OUTER JOIN zwraca niedopasowane wiersze z obu tabel. Pełne sprzężenie zewnętrzne obejmuje wszystkie rekordy z obu tabel, nawet jeśli nie znaleziono odpowiedniego rekordu w drugiej tabeli.

54.Which of the following ANSI SQL: 1999 join syntax joins are supported by Oracle?

  1. Produkty kartezjańskie
  2. Naturalne połączenia
  3. Pełne dołączenie OUTER
  4. Equijoins

Answer: D.

55.Which of the following is not a format for Outer Joins in Oracle DB?

  1. Right
  2. Left
  3. Centre
  4. Full

Answer: C. Z wyjątkiem „Centrum”, pozostałe 3 typy to typy formatów połączeń zewnętrznych w Oracle DB. Za pomocą metody JOIN dla złączeń zewnętrznych można dodać słowa kluczowe LEFT, RIGHT lub FULL.

Examine the given table structures. Answer the questions 56, 57 and 58 that follow by referring to 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 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 *
FROM employees e NATURAL JOIN department d;

56.You need to find the results obtained by the above query only for the departments 100 and 101. Which of the following clauses should be added / modified to the above query?

  1. Należy dodać ON (e.department_id = d.department_id)
  2. Należy dodać USING (e.department_id)
  3. GDZIE należy dodać e.department_id w (100,101)
  4. Żadne z powyższych

Answer: C. Klauzula NATURAL JOIN niejawnie dopasowuje wszystkie identyczne nazwane kolumny. Aby dodać dodatkowe warunki, można użyć klauzuli WHERE.

57.You need to find the results obtained by the above query for all those employees who have salaries greater than 20000. Which of the following clauses should be added / modified to the above query?

  1. ON (e.department_id = d.department_id) WHERE pensja> 20000;
  2. KORZYSTANIE (e.department_id) GDZIE pensja> 20000;
  3. KORZYSTANIE (id_ działu) GDZIE pensja> 20000;
  4. GDZIE wynagrodzenie> 20000;

Answer: D.

58.If the NATURAL JOIN in the above query is replaced by only JOIN which of the following should be added / modified to the above query to give the results pertaining to Department 100?

  1. ON (id_ działu = 100);
  2. USING (e.department_id = 100);
  3. GDZIE d.department_id = 100;
  4. ON (e.department_id = d.department_id id.d.department_id = 100);

Answer: D. Połączenia równorzędne można dodać dla większej liczby warunków po klauzuli ON.

59.A report has to be extracted to get the Managers for all the employees in the departments 10 and 20 of a company 'ABC'. Which of the following queries will give the required results? (Consider the table structure as given)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (employee_id );
  2. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (b.employee_id  = a.employee_id );
  3. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (a.manager_id  = b.employee_id )
    WHERE department_id  in (10,20);
  4. SELECT a.first_name || ' '||a.last_name "Manager", b.first_name||' '||b.last_name "Employees"
    FROM employees a join employees b
    On (a.manager_id  = b.employee_id )
    WHERE a.department_id  in (10,20);

Answer: D. Opcja C jest niepoprawna, ponieważ niealiasowany identyfikator działu w klauzuli WHERE spowoduje zgłoszenie błędu.

60.Which of the following queries will give results without duplicate values between the two tables EMPLOYEES and DEPARTMENT? (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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
  1. SELECT *
    FROM employees e NATURAL JOIN department d;
  2. SELECT *
    FROM employees e JOIN department d;
  3. SELECT *
    FROM employees e NATURAL JOIN department d
    USING (e.department_id );
  4. SELECT * 
    FROM employees e FULL OUTER JOIN department d
    USING (department_id );

Answer: D. FULL OUTER JOIN zwróci wszystkie pasujące i niepasujące wiersze z obu tabel, z wyłączeniem zduplikowanych wartości.

Examine the structures for the tables as given here and answer the questions 61 to 64.

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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)

61.What is true about the following query? (Choose the most appropriate answer)

SELECT *
FROM bonus b, employees e
WHERE b.job_id  (+) = e.job_id ;
  1. Wyświetli wszystkie bonusy uzyskane przez wszystkich pracowników.
  2. Wyświetli NULL w kolumnie premii, jeśli określony pracownik nie otrzymał żadnej premii
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: B. Znak (+) znajduje się po lewej stronie równania, co oznacza, że ​​jest to PRAWE POŁĄCZENIE ZEWNĘTRZNE i na odwrót.

62.You have to list all the departments who have no employees yet in a company named 'XYZ'. Which of the following queries will give you the required results?

  1. SELECT department_id , department_name FROM departments d NATURAL JOIN employees e;
  2. SELECT department_id , department_name FROM employees e JOIN departments d
    ON (e.department_id  = d.department_id );
  3. SELECT department_id , department_name FROM employees e LEFT OUTER JOIN departments d
    USING (department_id );
  4. SELECT department_id , department_name FROM employees e RIGHT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );

Answer: D.

63.You need to extract a report which displays 'No department yet' for all those employees who are yet to be allocated to a department. Which of the following will fulfill the purpose?

  1. SELECT nvl(department_id ,'No department yet')
    FROM employees e RIGHT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );
  2. SELECT nvl(department_id ,'No department yet')
    FROM departments d LEFT OUTER JOIN employees e
    ON (e.department_id  = d.department_id );
  3. SELECT nvl(department_id ,'No department yet')
    FROM employees e LEFT OUTER JOIN departments d
    ON (e.department_id  = d.department_id );
  4. SELECT nvl(department_id ,'No department yet')
    FROM employees e FULL OUTER JOIN departments d
    ON (e.department_id  = d.department_id );

Answer: C.

64.You need to extract a report which displays all the departments which have not been assigned to a city yet. Which of the following queries will give you the required output?

  1. SELECT department_id , department_name FROM departments d NATURAL JOIN locations l;
  2. SELECT department_id , department_name FROM departments d FULL OUTTER JOIN locations l
    ON (d.location_id = l.location_id);
  3. SELECT  d.department_id , d.department_name FROM departments d JOIN locations l
    USING (location_id);
  4. SELECT department_id , department_name FROM departments d LEFT OUTER JOIN locations l
    ON (d.location_id = l.location_id);

Answer: D.

65.In which two cases an OUTER JOIN should be used?

  1. Jeśli kolumny połączonych tabel mają wartości NULL
  2. Jeśli połączone tabele NIE mają NULL kolumn
  3. Jeśli połączone tabele zawierają tylko niedopasowane dane
  4. Jeśli połączone tabele zawierają zarówno pasujące, jak i niepasujące dane

Answer: A, D. Sprzężenie zewnętrzne jest tworzone, gdy rekordy muszą być uwzględnione w wynikach bez odpowiadających im rekordów w tabelach łączenia. Te rekordy są dopasowywane do rekordów NULL, aby były uwzględniane w danych wyjściowych.

66.You need to find the salary grade obtained by each employee. Which of the following query will you use? (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 grade
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 GRADE 				  NUMBER
 LOSAL 				  NUMBER
 HISAL				  NUMBER
  1. SELECT employee_id , salary, grade
    FROM employees e JOIN grade g
    ON g.grade BETWEEN g.losal AND g.hisal
  2. SELECT employee_id , salary, grade
    FROM employees e FULL OUTER JOIN grade g
    WHERE g.grade > g.losal AND < g.hisal;
  3. SELECT employee_id , salary, grade 
    FROM employees e JOIN grade g
    ON (MIN(g.grade) = g.losal
    AND MAX(g.grade) = g.hisal);
  4. Żadne z powyższych

Answer: A.

67.Examine the table structures 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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)

Oceń tę instrukcję SQL:

SELECT e.employee_id , (.25* e.salary) + (.5 * e.commission_pct) + (.75 * b.bonus) as calc_val
FROM employees e, bonus b
WHERE e.employee_id  = b.employee_id ;

Co się stanie, jeśli usuniesz wszystkie nawiasy z obliczeń?

  1. Wartość wyświetlana w kolumnie calc_val będzie mniejsza.
  2. Wartość wyświetlana w kolumnie calc_val będzie wyższa.
  3. W kolumnie calc_val nie będzie różnicy.
  4. Zostanie zgłoszony błąd.

Answer: C.

68.Consider the exhibit and examine the structures of the EMPLOYEES, DEPARTMENTS, and GRADE tables. For which situation would you use a non-equijoin query?

  1. Aby znaleźć ocenę dla każdego z pracowników
  2. Aby wyświetlić imię i nazwisko, identyfikator pracy i nazwisko kierownika dla wszystkich pracowników
  3. Aby znaleźć nazwę działu pracowników.
  4. Aby znaleźć liczbę pracowników działu administracyjnego i zarabiających mniej niż 30000

Answer: A. Sprzężenie oparte na braku równości ustanawia związek oparty na czymkolwiek innym niż warunek równości. Wartości zakresu używane z połączeniami spowodowanymi przez nierówność muszą się wzajemnie wykluczać.

69.In which three cases would you use the USING clause? (Choose three.)

  1. Chcesz stworzyć non-equijoin.
  2. Tabele, które mają zostać połączone, mają wiele kolumn o wartości NULL.
  3. Tabele, które mają zostać połączone, mają kolumny o tej samej nazwie i różnych typach danych.
  4. Chcesz użyć sprzężenia NATURALNEGO, ale chcesz ograniczyć liczbę kolumn w warunku sprzężenia.

Answer: C, D. Podejście JOIN .... USING jest podobne do podejścia NATURAL JOIN, z wyjątkiem tego, że wspólna kolumna jest określona w klauzuli USING. W klauzuli USING nie można uwzględnić warunku, aby wskazać, w jaki sposób tabele są powiązane. Ponadto kwalifikatory kolumn nie mogą być używane dla wspólnej kolumny określonej w klauzuli USING.

70.If the tables EMPLOYEES and BONUS have two columns with identical names viz: - SALARY and JOB_ID, which of the following queries are equivalent to each other? (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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
  1. SELECT * FROM employees E JOIN bonus B on (salary, job_id )
  2. SELECT * FROM employees E NATURAL JOIN bonus B on (salary, job_id )
  3. SELECT * FROM employees E JOIN bonus B USING (salary, job_id )
  4. SELECT * FROM employees E JOIN bonus B on (salary, job_id )

Answer: B, C.

71.Examine 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 departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)

Przeanalizuj następujące dwie instrukcje SQL:

Query 1
SELECT first_name,department_id 
FROM employees E JOIN departments D
USING (department_id );
Query 2
SELECT first_name,department_id 
FROM employees E NATURAL JOIN departments D
USING (department_id );

Które stwierdzenie dotyczące wyniku jest prawdziwe?

  1. Tylko zapytanie 1 jest wykonywane pomyślnie i daje wymagany wynik.
  2. Tylko zapytanie 2 jest wykonywane pomyślnie i daje wymagany wynik.
  3. Oba zapytania 1 i 2 są wykonywane pomyślnie i dają różne wyniki.
  4. Oba zapytania 1 i 2 są wykonywane pomyślnie i dają ten sam wymagany wynik.

Answer: D.

72.You need to generate a report showing the department location along with the employee name for all hires made before 20th January, 2013.

Wystawiasz następujące zapytanie:

SELECT department_name  , first_name||' '||last_name
FROM employees E JOIN department d
ON ( hire_date < '20-JAN-2013')
JOIN locations L
ON  (l.location_id = d.location_id) ;

Które stwierdzenie dotyczące powyższego zapytania jest prawdziwe?

  1. Wykonuje się pomyślnie i daje wymagany wynik.
  2. Wykonuje się pomyślnie, ale nie daje wymaganego wyniku.
  3. Powoduje to błąd, ponieważ kolejność łączenia tabel jest nieprawidłowa.
  4. Powoduje to błąd, ponieważ warunki equijoin i non-equijoin nie mogą być używane w tej samej instrukcji SELECT.

Answer: B.

73.Examine the structure of the EMPLOYEES table:

Chcesz się dowiedzieć, czy dane pracownika zostały wprowadzone więcej niż raz przy użyciu innego identyfikatora EMPLOYEE_ID, wymieniając wszystkie zduplikowane nazwiska. Jakiej metody możesz użyć, aby uzyskać wymagany wynik?

  1. self-join
  2. pełne połączenie zewnętrzne ze złączem własnym
  3. lewe połączenie zewnętrzne ze złączeniem własnym
  4. prawe połączenie zewnętrzne ze złączeniem własnym

Answer: A. Łączenia samoczynne są używane, gdy tabela musi być połączona ze sobą, aby pobrać potrzebne dane. Aliasy tabel są wymagane w klauzuli FROM, aby wykonać samosprzężenie.

Examine the structure of the tables DEPARTMENTS and LOCATIONS and answer the questions 74 and 75 that follow.

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)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)

74.You need to find out the departments that have not been allocated any location. Which query would give the required result?

  1. SELECT d.department_id , d.department_name FROM departments d JOIN locations l
    ON (d.location_id = l.location_id);
  2. SELECT d.department_id , d.department_name FROM departments d RIGHT OUTER JOIN locations l
    ON (d.location_id = l.location_id);
  3. SELECT d.department_id , d.department_name FROM departments d FULL JOIN locations l
    ON (d.location_id = l.location_id);
  4. SELECT d.department_id , d.department_name FROM departments d LEFT OUTER JOIN locations l
    ON (d.location_id = l.location_id);

Answer: B.

75.You want to list all departments that are not located in any location along with the department name. Evaluate the following query:

SELECT d.department_id , d.department_name  ,l.location_id, l.city
FROM departments D __________________   location L 
ON (d.location_id = l.location_id);

Które dwie opcje JOIN można użyć w pustym miejscu w powyższym zapytaniu, aby uzyskać prawidłowe wyniki?

  1. JOIN
  2. NATURALNE DOŁĄCZENIE
  3. LEWE POŁĄCZENIE ZEWNĘTRZNE
  4. PRAWE ZEWNĘTRZNE POŁĄCZENIE

Answer: A, C.

76. You need to generate a report that shows all department IDs, with corresponding employees (if any) and bonus details (if any), for all employees. Which FROM clause gives the required result? (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 bonus
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER
 JOB_ID 			  VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
  1. OD działów LEWA ZEWNĘTRZNA DOŁĄCZ pracowników KORZYSTANIE Z (Department_id) PEŁNA ZEWNĘTRZNA DOŁĄCZ bonus
  2. PEŁNE ZEWNĘTRZNE DOŁĄCZ do działu UŻYWANIE (id_działu);
  3. OD bonusu DOŁĄCZ do pracowników UŻYWAJĄC (job_id)
  4. OD pracowników PEŁNA ZEWNĘTRZNA DOŁĄCZ do działów PEŁNA ZEWNĘTRZNA DOŁĄCZ premia

Answer: A.

77. Examine the following exhibits:

Chcesz wygenerować raport zawierający identyfikatory pracowników i odpowiadające im prowizje i działy (jeśli istnieją), czy prowizje istnieją, czy nie. Oceń następujące zapytanie:

SELECT e.employee_id , bonus, department_name FROM bonus b_____________ employees
USING (job_id ) ____________ departments 
USING (department_id )
WHERE commission_pct  IS NOT NULL;

Która kombinacja złączeń użytych w pustych miejscach w powyższym zapytaniu daje poprawne wyniki?

  1. PRZYSTĄP; LEWE POŁĄCZENIE ZEWNĘTRZNE
  2. PEŁNE DOŁĄCZENIE ZEWNĘTRZNE; PEŁNE POŁĄCZENIE ZEWNĘTRZNE
  3. PRAWE POŁĄCZENIE ZEWNĘTRZNE; LEWE POŁĄCZENIE ZEWNĘTRZNE
  4. LEFT OUTER JOIN; PRAWE ZEWNĘTRZNE POŁĄCZENIE

Answer: A.

78.Predict the outcome of the following query.

SELECT e.salary, bonus
FROM employees E JOIN bonus b
USING (salary,job_id );
  1. Wykonuje się pomyślnie.
  2. Zgłasza błąd, ponieważ premia w SELECT nie jest aliasowana
  3. Zgłasza błąd, ponieważ klauzula USING nie może mieć więcej niż 1 kolumna.
  4. Wykonuje się pomyślnie, ale wyniki są nieprawidłowe.

Answer: D.

View the Exhibit and examine the structure of the EMPLOYEES, DEPARTMENTS, LOCATIONS and BONUS. Answer the questions from 79 and 80 that follow:

79.You need to list all the departments in the city of Zurich. You execute the following query:

SELECT D.DEPARTMENT_ID , D.DEPARTMENT_NAME  , L.CITY
FROM departments D JOIN LOCATIONS L
USING (LOC_ID,CITY) 
WHERE L.CITY = UPPER('ZURICH');

Przewidzieć wynik powyższego zapytania.

  1. Wykonuje się pomyślnie.
  2. Daje błąd, ponieważ kwalifikator jest używany dla CITY w instrukcji SELECT.
  3. Daje błąd, ponieważ nazwy kolumn w SELECT nie pasują
  4. Daje błąd, ponieważ klauzula USING zawiera CITY, które nie jest pasującą kolumną.

Answer: D. W klauzuli USING należy używać tylko pasujących nazw kolumn.

80.Answer the question that follows the query given below:

SELECT e.first_name, d.department_id , e.salary, b.bonus
FROM bonus b join employees e
USING (job_id )
JOIN department d
USING (department_id )
WHERE d.loc = 'Zurich';

Musisz wyodrębnić raport, który zawiera imię, numer działu, wynagrodzenie i premie pracowników firmy o nazwie „ABC”. Które z poniższych pytań rozwiąże ten cel?

  1. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM bonus b join employees e join departments d
    on (b.job_id  = e.job_id )
    on (e.department_id =d.department_id )
    WHERE d.loc = 'Zurich';
  2. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM bonus b join employees e
    on (b.job_id  = e.job_id )
    JOIN department d
    on (e.department_id =d.department_id )
    WHERE d.loc = 'Zurich';
  3. SELECT e.first_name, d.department_id , e.salary, b.bonus
    FROM employees e join bonus b
    USING (job_id )
    JOIN department d
    USING (department_id )
    WHERE d.loc = 'Zurich';
  4. Żadne z powyższych

Answer: C. Zapytanie A zgłosi błąd składniowy, zapytanie B zgłosi błąd nieprawidłowego identyfikatora między bonusem a działem.

Examine the Exhibits given below and answer the questions 81 to 85 that follow.

81. You need to find the managers' name for those employees who earn more than 20000. Which of the following queries will work for getting the required results?

  1. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    USING (e.manager_id  = m.employee_id )
    WHERE e.salary >20000;
  2. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    USING (e.manager_id)
    WHERE e.salary >20000;
  3. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E  NATURAL JOIN employees M
    USING (e.manager_id = m.employee_id )
    WHERE e.salary >20000;
  4. SELECT e.employee_id  "Employee", salary, employee_id , 
    FROM employees E JOIN employees M
    ON (e.manager_id = m.employee_id )
    WHERE e.salary >20000;

Answer: D.

82.You issue the following query:

SELECT e.employee_id ,d.department_id 
FROM employees e NATURAL JOIN department d NATURAL JOIN bonus b
WHERE department_id  =100;

Które stwierdzenie dotyczące wyniku tego zapytania jest prawdziwe?

  1. Wykonuje się pomyślnie.
  2. Powoduje to błąd, ponieważ łączenie NATURALNE może być używane tylko z dwiema tabelami.
  3. Powoduje to błąd, ponieważ kolumna używana w złączeniu NATURAL nie może mieć kwalifikatora.
  4. Powoduje to błąd, ponieważ wszystkie kolumny używane w złączeniu NATURALnym powinny mieć kwalifikator.

Answer: C.

83.You want to display all the employee names and their corresponding manager names. Evaluate the following query:

SELECT e.first_name "EMP NAME", m.employee_name "MGR NAME"
FROM employees e ______________ employees m
ON e.manager_id = m.employee_id ;

Której opcji JOIN można użyć w pustym miejscu w powyższym zapytaniu, aby uzyskać wymagane dane wyjściowe?

  1. Proste wewnętrzne JOIN
  2. PEŁNE POŁĄCZENIE ZEWNĘTRZNE
  3. LEWE POŁĄCZENIE ZEWNĘTRZNE
  4. PRAWE ZEWNĘTRZNE POŁĄCZENIE

Answer: C. Lewe sprzężenie zewnętrzne obejmuje wszystkie rekordy z tabeli wymienionej po lewej stronie sprzężenia, nawet jeśli w operacji łączenia nie zostanie znalezione żadne dopasowanie do innej tabeli.

Consider the below exhibit and following query to answer questions 84 and 85. (Assume the table department has manager_id and department_name as its columns)

Select *
FROM employees e JOIN department d
ON (e.employee_id  = d.manager_id);

84. You need to display a sentence "(first_name) (last_name) is manager of the (department_name) department". Which of the following SELECT statements will successfully replace '*' in the above query to fulfill this requirement?

  1. SELECT e.first_name||' '||e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  2. SELECT e.first_name, e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  3. SELECT e.last_name||' is manager of the '||d.department_name||' department.' "Managers"
  4. Żadne z powyższych

Answer: A.

85.What will happen if we omit writing the braces "( )" after the ON clause in the above query?

  1. Podane zostaną tylko nazwiska pracowników, a nazwiska menedżerów zostaną wykluczone ze zbioru wyników
  2. Daje taki sam wynik jak w przypadku nawiasów klamrowych „()”
  3. Spowoduje to błąd ORA, ponieważ zapis nawiasów klamrowych „()” jest obowiązkowy podczas korzystania z klauzuli JOIN..ON
  4. Żadne z powyższych

Answer: B. Nawiasy klamrowe nie są obowiązkowe, ale ich stosowanie zapewnia wyraźną czytelność warunków w nich zawartych.

86. Which of the following queries creates a Cartesian join?

  1. SELECT title, authorid FROM books, bookauthor;
  2. SELECT title, name FROM books CROSS JOIN publisher;
  3. SELECT title, gift FROM books NATURAL JOIN promotion;
  4. wszystkie powyższe

Answer: A, B. Sprzężenie kartezjańskie między dwiema tabelami zwraca każdą możliwą kombinację wierszy z tabel. Sprzężenie kartezjańskie można utworzyć, nie uwzględniając operacji łączenia w zapytaniu lub używając funkcji CROSS JOIN.

87. Which of the following operators is not allowed in an outer join?

  1. AND
  2. =
  3. OR
  4. >

Answer: C. Oracle zgłasza wyjątek „ORA-01719: zewnętrzny operator sprzężenia (+) niedozwolony w operandzie OR lub IN”

88. Which of the following queries contains an equality join?

  1. SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
  2. SELECT title, name FROM books CROSS JOIN publisher;
  3. SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
  4. Żadne z powyższych

Answer: A. Sprzężenie równości jest tworzone, gdy dane łączące rekordy z dwóch różnych tabel są dokładnym dopasowaniem (to znaczy warunek równości tworzy relację).

89. Which of the following queries contains a non-equality join?

  1. SELECT title, authorid FROM books, bookauthor WHERE books.isbn = bookauthor.isbn AND retail > 20;
  2. SELECT title, name FROM books JOIN publisher USING (pubid);
  3. SELECT title, gift FROM books, promotion WHERE retail >= minretail AND retail <= maxretail;
  4. Żadne z powyższych

Answer: D. Nonequijoins dopasowuje wartości kolumn z różnych tabel na podstawie wyrażenia nierówności. Wartość kolumny łączenia w każdym wierszu tabeli źródłowej jest porównywana z odpowiednimi wartościami w tabeli docelowej. Dopasowanie zostanie znalezione, jeśli wyrażenie użyte w złączeniu, oparte na operatorze nierówności, przyjmuje wartość true. Kiedy konstruowane jest takie złączenie, wykonywany jest nonequijoin. Nonequijoin określa się za pomocą składni JOIN..ON, ale warunek łączenia zawiera operator nierówności zamiast znaku równości.

90. The following SQL statement contains which type of join?

SELECT title, order#, quantity
FROM books FULL OUTER JOIN orderitems
ON books.isbn = orderitems.isbn;
  1. equality
  2. self-join
  3. non-equality
  4. połączenie zewnętrzne

Answer: D. Pełne sprzężenie zewnętrzne obejmuje wszystkie rekordy z obu tabel, nawet jeśli nie znaleziono odpowiedniego rekordu w drugiej tabeli.

91. Which of the following queries is valid?

  1. SELECT b.title, b.retail, o.quantity FROM books b NATURAL JOIN orders od NATURAL JOIN orderitems o WHERE od.order# = 1005;
  2. SELECT b.title, b.retail, o.quantity FROM books b, orders od, orderitems o WHERE orders.order# = orderitems.order# AND orderitems.isbn=books.isbn AND od.order#=1005;
  3. SELECT b.title, b.retail, o.quantity FROM books b, orderitems o WHERE o.isbn = b.isbn AND o.order#=1005;
  4. Żadne z powyższych

Answer: C. Jeśli tabele w łączeniach mają alias, do wybranych kolumn należy odwoływać się z aliasem, a nie z rzeczywistymi nazwami tabel.

92. Given the following query.

SELECT zip, order#
FROM customers NATURAL JOIN orders;

Które z poniższych zapytań jest równoważne?

  1. SELECT zip, order# FROM customers JOIN orders WHERE customers.customer# = orders.customer#;
  2. SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer#;
  3. SELECT zip, order# FROM customers, orders WHERE customers.customer# = orders.customer# (+);
  4. żadne z powyższych

Answer: B. Łączenie naturalne nakazuje Oracle identyfikowanie kolumn o identycznych nazwach między tabelami źródłową i docelową.

93. Examine the table structures as given. Which line in the following SQL statement raises an error?

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)
1. SELECT e.first_name, d.department_name
2. FROM employees  e, department d
3. WHERE e.department_id=d.department_id
  1. linia 1
  2. linia 2
  3. wiersz 3
  4. Bez błędów

Answer: A. Jeśli zapytanie używa nazw aliasów w warunku łączenia, ich kolumna powinna używać aliasu jako odniesienia.

94. Given the following query:

SELECT lastname, firstname, order#
FROM customers LEFT OUTER JOIN orders
USING (customer#)
ORDER BY customer#;

Które z poniższych zapytań zwraca te same wyniki?

  1. SELECT lastname, firstname, order# FROM customers c OUTER JOIN orders o ON c.customer# = o.customer# ORDER BY c.customer#;
  2. SELECT lastname, firstname, order# FROM orders o RIGHT OUTER JOIN customers c ON c.customer# = o.customer# ORDER BY c.customer#;
  3. SELECT lastname, firstname, order# FROM customers c, orders o WHERE c.customer# = o.customer# (+) ORDER BY c.customer#;
  4. Żadne z powyższych

Answer: B, C.

95. Which of the below statements are true?

  1. Funkcji grupowych nie można używać w odniesieniu do danych z wielu źródeł danych.
  2. Jeśli wiele tabel połączonych w zapytaniu zawiera identyczne kolumny, Oracle wybiera tylko jedną z nich.
  3. Łączenie naturalne służy do łączenia wierszy z dwóch tabel opartych na identycznych kolumnach.
  4. A i B

Answer: C. Funkcje grupowe mogą być używane w zapytaniu przy użyciu sprzężeń Oracle. Do niejednoznacznych kolumn należy odwoływać się za pomocą kwalifikatora.

96. Which line in the following SQL statement raises an error?

1. SELECT name, title
2. FROM books JOIN publisher
3. WHERE books.pubid = publisher.pubid
4. AND
5. cost < 45.95
  1. linia 1
  2. linia 2
  3. wiersz 3
  4. wiersz 4

Answer: C. Ponieważ tabele są łączone za pomocą słowa kluczowego JOIN, warunek równości powinien być zapisany z klauzulą ​​USING, a nie WHERE.

97. Given the following query:

SELECT title, gift
FROM books CROSS JOIN promotion;

Które z poniższych zapytań jest równoważne?

  1. SELECT title, gift
    FROM books NATURAL JOIN promotion;
  2. SELECT title
    FROM books INTERSECT
    SELECT gift
    FROM promotion;
  3. SELECT title
    FROM books UNION ALL
    SELECT gift
    FROM promotion;
  4. SELECT title, gift
    FROM books, promotion;

Answer: D. Łączenia kartezjańskie są takie same jak łączenia krzyżowe.

98. If the CUSTOMERS table contains seven records and the ORDERS table has eight records, how many records does the following query produce?

SELECT *
FROM customers CROSS JOIN orders;
  1. 0
  2. 56
  3. 7
  4. 15

Answer: B. Łączenie krzyżowe jest iloczynem krzyżowym wierszy zawartych w obu tabelach.

99. Which of the following SQL statements is not valid?

  1. SELECT b.isbn, p.name
    FROM books b NATURAL JOIN publisher p;
  2. SELECT isbn, name
    FROM books b, publisher p
    WHERE b.pubid = p.pubid;
  3. SELECT isbn, name
    FROM books b JOIN publisher p
    ON b.pubid = p.pubid;
  4. SELECT isbn, name
    FROM books JOIN publisher
    USING (pubid);

Answer: A. Do niejednoznacznych kolumn należy odwoływać się z kwalifikatorami tabeli.

100. Which of the following lists all books published by the publisher named 'Printing Is Us'?

  1. SELECT title
    FROM books NATURAL JOIN publisher
    WHERE name = 'PRINTING IS US';
  2. SELECT title
    FROM books, publisher
    WHERE pubname = 1;
  3. SELECT *
    FROM books b, publisher p
    JOIN tables ON b.pubid = p.pubid
    WHERE name = 'PRINTING IS US';
  4. żadne z powyższych

Answer: A. Zakładając, że kolumna NAZWA nie jest zawarta w tabeli BOOKS, zapytanie A jest prawidłowe.

101. Which of the following SQL statements is not valid?

  1. SELECT isbn
    FROM books
    MINUS
    SELECT isbn
    FROM orderitems;
  2. SELECT isbn, name
    FROM books, publisher
    WHERE books.pubid (+) = publisher.pubid (+);
  3. SELECT title, name
    FROM books NATURAL JOIN publisher
  4. Wszystkie powyższe instrukcje SQL są prawidłowe.

Answer: B. Zapytanie B wywołuje wyjątek „ORA-01468: predykat może odnosić się tylko do jednej tabeli połączonej zewnętrznie”.

102. Which of the following statements about an outer join between two tables is true?

  1. Jeśli relacja między tabelami jest ustanowiona za pomocą klauzuli WHERE, obie tabele mogą zawierać operator sprzężenia zewnętrznego.
  2. Aby uwzględnić niedopasowane rekordy w wynikach, rekord jest łączony z rekordem NULL w wadliwej tabeli.
  3. Słowa kluczowe RIGHT, LEFT i FULL są równoważne.
  4. wszystkie powyższe

Answer: B.

103. Which line in the following SQL statement raises an error?

1. SELECT name, title
2. FROM books b, publisher p
3. WHERE books.pubid = publisher.pubid
4. AND
5. (retail > 25 OR retail-cost > 18.95);
  1. linia 1
  2. wiersz 3
  3. wiersz 4
  4. wiersz 5

Answer: B. Ponieważ tabele używane w zapytaniu mają kwalifikator, do kolumn należy odwoływać się przy użyciu tego samego.

104. What is the maximum number of characters allowed in a table alias?

  1. 10
  2. 155
  3. 255
  4. 30

Answer: D. Alias ​​tabeli może mieć maksymalnie 30 znaków.

105. Which of the following SQL statements is valid?

  1. SELECT books.title, orderitems.quantity
    FROM books b, orderitems o
    WHERE b.isbn= o.ibsn;
  2. SELECT title, quantity
    FROM books b JOIN orderitems o;
  3. SELECT books.title, orderitems.quantity
    FROM books JOIN orderitems
    ON books.isbn = orderitems.isbn;
  4. żadne z powyższych

Answer: C.