Fragen aus mehreren Tabellen abrufen Fragen

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

  1. Selection
  2. Projection
  3. Joining
  4. Nichts des oben Genannten

Answer: D. Die Optionen A, B und C sind die Hauptfunktionen der Oracle Relational Database.

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

  1. SELECT
  2. GRUPPIERE NACH
  3. SORTIEREN NACH
  4. JOINS

Answer: D. Joins werden verwendet, um mehrere Tabellen und Projektspaltendaten aus mehreren Tabellen in Oracle zu verbinden.

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

  1. Hash Join
  2. Equijoin
  3. Selbst beitreten
  4. Cross Join

Answer: B. Equijoin ist eine der Arten von Verknüpfungen, die die häufigste und einfachste Methode zum Verknüpfen von mehr als einer Tabelle ist. Equijoins werden auch als einfache Joins oder innere Joins bezeichnet. Equijoin umfasst Primärschlüssel und Fremdschlüssel.

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. Einfacher Join
  3. Non-equijoin
  4. Nichts des oben Genannten

Answer: C. Equijoins verwenden Gleichheitsoperatoren, um Zeilen zu verbinden, Nicht-Equijoins verwenden Ungleichheitsoperatoren.

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

  1. NULL-Werte sind in der Ergebnismenge enthalten
  2. Es werden nur die Zeilen abgerufen, für die übereinstimmende Bedingungen gelten
  3. Alle Zeilen, die in einer der einen Tabellen vorhanden sind, werden abgerufen
  4. Nichts des oben Genannten

Answer: B. NULL-Werte und unterschiedliche Einträge in allgemeinen Join-Spalten werden ausgeschlossen, wenn Joins verwendet werden.

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. Äußere Verbindung
  4. Self-join

Answer: D. Die Zuordnung basiert auf Spalten mit logischen und normalerweise hierarchischen Beziehungen zueinander.

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

  1. Es muss vermieden werden, da es teuer und nicht optimiert ist
  2. Es wird gebildet, wenn jede Zeile aus einer Tabelle mit allen Zeilen in der zweiten Tabelle verbunden wird
  3. Sowohl A als auch B
  4. Nichts des oben Genannten

Answer: B. Die kartesische Verknüpfung ist häufig das Ergebnis fehlender oder unzureichender Verknüpfungsbedingungen. Sie ist einfach das Kreuzprodukt zweier Tabellen.

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

  1. Äußere Verbindung
  2. Self-join
  3. Equi-join
  4. Alles das oben Genannte

Answer: C. Equi-Join und Non-Equijoin sind die beiden Grundtypen von Joins in 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. Es gibt keine Bedingung
  2. Mindestens eine der Spalten in beiden Tabellen sollte gemeinsam sein.
  3. Die Namen der Spalten in beiden Verknüpfungstabellen sollten für die Verwendung von Verknüpfungen identisch sein
  4. Nichts des oben Genannten

Answer: B. Die Tabellen müssen durch eine gemeinsame Spalte verbunden sein, die zwei Entitäten miteinander verbindet. Die in einer gemeinsamen Spalte verknüpfte Tabelle erzeugt ein nicht kartesisches Produkt.

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 werden auch als einfache Verknüpfungen oder innere Verknüpfungen bezeichnet. Equijoin beinhaltet Primärschlüssel und Fremdschlüssel.

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

  1. Sie müssen mindestens eine gleichnamige Spalte haben
  2. Alle Spalten sollten denselben Namen und denselben Datentyp haben, um die beiden Tabellen zu verbinden
  3. Die Quell- und die Zieltabelle können nicht ausgetauscht werden und sind positionsspezifisch
  4. Nichts des oben Genannten

Answer: D. Die Quell- und die Zieltabelle können ausgetauscht werden und sind nicht an ihren Positionen festgelegt. Abhängig von der Art des in der Abfrage verwendeten Joins kann das Ergebnis abweichen oder gleich bleiben.

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

  1. Die Spaltennamen der Quell- und der Zieltabelle sollten identisch sein
  2. Wenn die Spaltennamen der Quell- und der Zieltabelle nicht identisch sind, führt Oracle dies implizit aus
  3. NATURAL JOINS, USING und ON sind die Schlüsselwörter für Natural Joins
  4. Alles das oben Genannte

Answer: C. Das Schlüsselwort NATURAL JOIN weist Oracle an, Spalten mit identischen Namen zwischen Quell- und Zieltabellen zu identifizieren. Natürliche Verknüpfungen verwenden alle Spalten mit übereinstimmenden Namen und Datentypen, um die Tabellen zu verknüpfen. Die USING-Klausel kann verwendet werden, um nur die Spalten anzugeben, die für ein Equijoin verwendet werden sollen.

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. Es gibt keinen Unterschied
  2. Das Ergebnis ist in beiden Fällen unterschiedlich
  3. Beide Abfragen geben bei der Ausführung einen ORA-Fehler aus
  4. Nichts des oben Genannten

Answer: B. Die Quell- und Zieltabellen können mithilfe von NATURAL JOIN ausgetauscht werden, wodurch sich relational unterschiedliche Ergebnismengen ergeben.

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

  1. Bei Verwendung von NATURAL JOIN ist es obligatorisch, die Namen aller Spalten aus beiden Tabellen anzugeben
  2. NATURAL JOIN kann nur verwendet werden, wenn die Namen aller Spalten beider Tabellen identisch sind
  3. Der Join in NATURAL JOIN erfolgt nur, wenn der Benutzer die Spalten der Quell- und der Zieltabelle angibt.
  4. Bei Verwendung von NATURAL JOINS müssen die Spalten nicht erwähnt werden.

Answer: D. Es gibt eine implizite Verknüpfung der Spalten aus der Quell- und der Zieltabelle, wenn ein NATURAL JOIN verwendet wird. Ein NATURAL JOIN ist eine JOIN-Operation, die eine implizite Verknüpfungsklausel für Sie basierend auf den gemeinsamen Spalten in den beiden zu verbindenden Tabellen erstellt. Gemeinsame Spalten sind Spalten, die in beiden Tabellen denselben Namen haben.

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

  1. Es gibt keinen Unterschied zwischen den beiden
  2. JOIN..ON verknüpft die Quell- und Zieltabellen in bestimmten Spalten mit demselben Namen
  3. NATURAL JOIN verknüpft implizit alle übereinstimmenden Spalten aus der Quell- und Zieltabelle
  4. Nichts des oben Genannten

Answer: B, C. Die Verknüpfungsbedingung für die natürliche Verknüpfung ist im Grunde eine Entsprechung aller Spalten mit demselben Namen. Verwenden Sie die ON-Klausel, um beliebige Bedingungen oder Spalten für die Verknüpfung anzugeben. Die Verknüpfungsbedingung wird von anderen Suchbedingungen getrennt. Die ON-Klausel macht den Code leicht verständlich.

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

  1. Dies hängt nicht von den Spalten in der Quell- und Zieltabelle mit identischen Namen ab
  2. Mit dieser Klausel können nur die Spalten aus der Quell- und der Zieltabelle verwendet werden, die identische Namen haben
  3. Es ist ein Format des NATURAL JOIN
  4. Alles das oben Genannte

Answer: A, C. Die Verknüpfungsbedingung für die natürliche Verknüpfung ist im Grunde eine Entsprechung aller Spalten mit demselben Namen. Verwenden Sie die ON-Klausel, um beliebige Bedingungen oder Spalten für den Beitritt anzugeben. Die Join-Bedingung ist von anderen Suchbedingungen getrennt. Die ON-Klausel macht den Code leicht verständlich.

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. Entweder NATURAL JOIN- oder JOIN ... ON-Klauseln
  3. Sowohl A als auch B
  4. Nichts des oben Genannten

Answer: A. Die Verwendung von NATURAL JOINS kann in diesem Fall zu unerwarteten Ergebnissen führen, da implizit nach Spalten mit identischen Namen gesucht wird, die in diesem Fall nicht vorhanden sind.

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. NATÜRLICHE VERBINDUNG
  4. OUTER-JOIN

Answer: D. Ein äußerer Join wird erstellt, wenn Datensätze in die Ergebnisse aufgenommen werden müssen, ohne dass entsprechende Datensätze in den Join-Tabellen enthalten sind. Diese Datensätze werden mit NULL-Datensätzen abgeglichen, sodass sie in der Ausgabe enthalten sind.

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

  1. Equi-join
  2. Anti-join
  3. Cross-Join
  4. Nichts des oben Genannten

Answer: C. Ein kartesischer Join zwischen zwei Tabellen gibt jede mögliche Kombination von Zeilen aus den Tabellen zurück. Ein kartesischer Join kann erstellt werden, indem keine Join-Operation in die Abfrage aufgenommen wird oder indem ein CROSS JOIN verwendet wird.

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. Die gemeinsame Spalte DEPARTMENT_ID mit identischem Namen in beiden Tabellen wird zweimal in der Ergebnismenge angezeigt
  2. Alle Spalten mit identischen Namen, die mit NATURAL JOIN verknüpft sind, werden zweimal in der Ergebnismenge angezeigt
  3. Die Ergebnismenge enthält nur eine Spalte für jedes Paar identisch benannter Spalten aus beiden Tabellen
  4. Nichts des oben Genannten

Answer: C. Für die Schlüsselwörter NATURAL JOIN ist keine Bedingung erforderlich, um die Beziehung zwischen zwei Tabellen herzustellen. Es muss jedoch eine gemeinsame Spalte vorhanden sein. Spaltenqualifizierer können nicht mit den Schlüsselwörtern NATURAL JOIN verwendet werden.

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

  1. Es gibt keinen Unterschied
  2. Sie sind in Bezug auf die Ergebnismenge, die von beiden erhalten wird, gleich
  3. Sowohl A als auch B
  4. Nichts des oben Genannten

Answer: D. NATURAL JOIN verknüpft alle Spalten mit identischen Namen, während EQUI-JOIN erfordert, dass die Spalten in der SQL-Abfrage explizit erwähnt werden.

22.What is an INNER JOIN in Oracle DB?

  1. Der Join, der die übereinstimmenden Datensätze zwischen zwei Tabellen angibt, wird als INNER JOIN bezeichnet
  2. Ein innerer Join kann Operatoren wie <,>, <> verwenden
  3. Sowohl A als auch B
  4. Nichts des oben Genannten

Answer: C. Ein Join kann ein innerer Join sein, bei dem die einzigen zurückgegebenen Datensätze einen übereinstimmenden Datensatz in allen Tabellen enthalten, oder ein äußerer Join, bei dem Datensätze zurückgegeben werden können, unabhängig davon, ob der Join einen übereinstimmenden Datensatz enthält.

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

  1. Sie sind hinsichtlich Syntax und erhaltenen Ergebnismengen gleich.
  2. Ein INNER JOIN ist eine Teilmenge eines EQUI-JOIN
  3. Ein INNER JOIN kann Operatoren wie <,>, <> zusammen mit "=" verwenden, während EQUI-JOIN nur den Operator "=" verwendet
  4. Alles das oben Genannte

Answer: C. EQUI-JOIN ist eine Art von INNER JOIN, die den Operator "=" in einer Verknüpfungsbedingung enthält, während INNER JOIN sowohl Gleichheitsoperatoren als auch Nichtgleichheitsoperatoren enthalten kann

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

  1. Ein Gleichheitsoperator (=) wird verwendet
  2. Sie erzielen im Vergleich zur herkömmlichen Syntax unterschiedliche Ergebnisse
  3. Die ANSI-SQL-Syntax verwendet Wörter wie NATURAL JOIN in den SQL-Abfragen
  4. Nichts des oben Genannten.

Answer: C. Die ANSI SQL-Syntax unterscheidet sich von der herkömmlichen Verwendung von (=) auf herkömmliche Weise. Die ANSI SQL-Syntax enthält Schlüsselwörter wie NATURAL JOIN usw., um die verwendeten Joins zu unterscheiden.

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. Zwischen der department_id aus beiden Tabellen befindet sich eine äußere Verknüpfung, die einer rechten äußeren Verknüpfung in ANSI SQL entspricht
  2. Es gibt einen äußeren Join zwischen der Abteilung_ID aus beiden Tabellen, der einem linken äußeren Join in ANSI SQL entspricht
  3. Es ruft alle Datensätze der Abteilung_ID aus der Mitarbeitertabelle ab, unabhängig davon, ob sie übereinstimmen oder nicht
  4. Es ruft alle Datensätze der Abteilung_ID aus der Abteilungstabelle ab, unabhängig davon, ob sie übereinstimmen oder nicht

Answer: A, D. Die Bedingung e.department_id (+) = d.department_id bedeutet, dass eine rechte äußere Verknüpfung durchgeführt wird und alle Abteilungs-IDs aus der Abteilungstabelle angezeigt werden, unabhängig davon, ob sie übereinstimmen oder nicht

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

  1. ANSI SQL: 1999
  2. Sowohl die traditionelle Oracle-Syntax als auch die ANSI SQL: 1999-Syntax
  3. Traditionelle Oracle-Syntax
  4. Alle Optionen

Answer: C. Die ANSI SQL: 1999-Syntax wird zwar nicht so häufig wie die herkömmliche Oracle-Syntax verwendet, ist jedoch immer noch eine der Syntaxen, die in Oracle SQL verwendet werden können

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

  1. Wenn 'N' die Anzahl der verknüpften Tabellen ist, dann wenn nein. von Verknüpfungen ist N-1, kartesisches Produkt wird nicht durchgeführt
  2. Wenn 'N' die Anzahl der verknüpften Tabellen ist, dann wenn nein. von Verknüpfungen ist N, kartesisches Produkt wird durchgeführt
  3. Wenn 'N' die Anzahl der verknüpften Tabellen ist, dann wenn nein. von Verknüpfungen ist N + 1, kartesisches Produkt wird durchgeführt
  4. Wenn 'N' die Anzahl der verknüpften Tabellen ist, dann wenn nein. von Verknüpfungen ist N-1 oder weniger, kartesisches Produkt wird durchgeführt.

Answer: A. Ein kartesischer Join zwischen zwei Tabellen gibt jede mögliche Kombination von Zeilen aus den Tabellen zurück. Ein kartesischer Join kann erstellt werden, indem keine Join-Operation in die Abfrage aufgenommen wird oder indem ein CROSS JOIN verwendet wird. Eine Abfrage muss mindestens (N-1) Verknüpfungsbedingungen haben, um ein kartesisches Produkt zu verhindern, wobei N die Anzahl der Tabellen in der Abfrage ist.

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. Für die Tabellen werden keine Aliase verwendet.
  2. Das Wort RIGHT OUTER JOIN wird hier nicht verwendet, daher wird der Fehler ausgegeben
  3. Das (+) sollte sich auf der rechten Seite der Gleichheitsbedingung und nicht auf der linken Seite befinden
  4. Tabellen-Aliase sollten mit der Abteilung_ID in der Bedingung verwendet werden, um mehrdeutige Namen zu entfernen

Answer: D. Ohne die Tabellen-Aliase kann Oracle den Ursprung der zu verbindenden Spalten nicht ableiten und löst daher bei der Ausführung einen Mehrdeutigkeitsfehler aus.

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

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

Answer: C. Die Syntax zum Entfernen des Problems mit mehrdeutigen Spalten lautet: table_alias.column_name

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. Es enthält die Details der Mitarbeiter, die keiner Abteilung angehören
  2. Es enthält die Details der Abteilungen, in denen keine Mitarbeiter beschäftigt sind
  3. Es enthält die Details aller Abteilungen, unabhängig davon, ob sie Mitarbeiter haben oder nicht
  4. Es enthält die Details der Mitarbeiter, die im Unternehmen 'ABC' eingestellt wurden, unabhängig von den Abteilungen.

Answer: C. Mit der JOIN-Methode für äußere Verknüpfungen können Sie die Schlüsselwörter LEFT, RIGHT oder FULL hinzufügen. Ein linker äußerer Join enthält alle Datensätze aus der Tabelle, die auf der linken Seite des Joins aufgeführt ist, auch wenn im Join-Vorgang keine Übereinstimmung mit der anderen Tabelle gefunden wird. Ein vollständiger äußerer Join enthält alle Datensätze aus beiden Tabellen, auch wenn kein entsprechender Datensatz in der anderen Tabelle gefunden wird.

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. Es werden alle übereinstimmenden Werte aus beiden Tabellen mit derselben Abteilungs-ID angegeben
  2. Es werden alle Spalten der Tabellenmitarbeiter und nur die obersten 100 Zeilen der Abteilungs-Tabelle angezeigt
  3. Es wird ein ORA-Fehler ausgegeben: "b.department_id" ungültiger Bezeichner
  4. Keine der oben genannten Optionen

Answer: C. In der WHERE-Klausel sollten dieselben Aliase enthalten sein wie in der FROM-Klausel

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

  1. Die ON-Klausel kann verwendet werden, um Tabellen in Spalten mit demselben Datentyp, jedoch nicht unbedingt demselben Namen, zu verknüpfen
  2. Die USING- und ON-Klauseln werden nur für Equijoins und Non-Equijoins verwendet
  3. Mit der ON-Klausel kann nicht mehr als eine Bedingung verwendet werden
  4. Die WHERE-Klausel kann nach der USING..ON-Klausel geschrieben werden, um zusätzliche Bedingungen anzuwenden

Answer: A, D. Der Ansatz JOIN ... USING ähnelt dem Ansatz NATURAL JOIN, außer dass die gemeinsame Spalte in der USING-Klausel angegeben ist. Eine Bedingung kann nicht in die USING-Klausel aufgenommen werden, um anzugeben, wie die Tabellen zusammenhängen. Darüber hinaus können Spaltenqualifizierer nicht für die in der USING-Klausel angegebene allgemeine Spalte verwendet werden. Der Ansatz JOIN ... ON verknüpft Tabellen basierend auf einer bestimmten Bedingung. Das Schlüsselwort JOIN in der FROM-Klausel gibt die zu verbindenden Tabellen an, und die ON-Klausel gibt an, wie die beiden Tabellen zusammenhängen. Dieser Ansatz muss verwendet werden, wenn die zu verbindenden Tabellen nicht in jeder Tabelle eine gemeinsame Spalte mit demselben Namen haben.

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

  1. 1
  2. 2
  3. 255
  4. Keine Begrenzung

Answer: D. Die Anzahl der an einem Join teilnehmenden Tabellen ist derzeit unbegrenzt.

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

  1. Die Verknüpfungen werden von links nach rechts ausgewertet
  2. Die Verknüpfungen werden von rechts nach links ausgewertet
  3. Es gibt keinen Vorrang bei der Bewertung von Joins
  4. Nichts des oben Genannten

Answer: A. Wenn in einer Anweisung mehrere Verknüpfungen vorhanden sind, werden diese von links nach rechts ausgewertet.

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. Die Verwendung von NATURAL JOIN zum Verknüpfen mehrerer Tabellen ist eine bessere Option und liefert genaue Ergebnisse
  2. Die Fehlerwahrscheinlichkeit ist sehr gering, wenn NATURAL JOINs zum Verbinden mehrerer Tabellen verwendet werden
  3. Die Klauseln USING..JOIN..ON liefern genauere Ergebnisse als NATURAL JOINs, wenn mehrere Tabellen verknüpft werden
  4. Oracle verknüpft implizit mehrere Tabellen, wenn ein NATURAL JOIN verwendet wird. Daher empfiehlt es sich, NATURAL JOINS zu verwenden

Answer: C. Die Verwendung von NATURAL JOINS kann kartesische Zeilenprodukte erzeugen und ist auch bei nicht zuverlässigen Ergebnismengen fehleranfällig.

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

  1. Sie sind im Vergleich zu NATURAL JOINS beim Verbinden mehrerer Tabellen nicht sehr zuverlässig
  2. Die JOIN..ON-Klausel ähnelt der WHERE-Klausel, die Zeilen mit Bedingungen begrenzt
  3. Eine zusätzliche WHERE-Klausel ist obligatorisch, wenn die JOIN..ON-Klausel verwendet wird
  4. Nichts des oben Genannten

Answer: B. Der Ansatz JOIN .... ON verknüpft Tabellen basierend auf einer bestimmten Bedingung. Das Schlüsselwort JOIN in der FROM-Klausel gibt die zu verbindenden Tabellen an, und die ON-Klausel gibt an, wie die beiden Tabellen zusammenhängen. Dieser Ansatz muss verwendet werden, wenn die zu verbindenden Tabellen nicht in jeder Tabelle eine gemeinsame Spalte mit demselben Namen haben.

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. Es gibt einen ORA-Fehler, da die obligatorische WHERE-Klausel nicht vorhanden ist
  2. Die JOIN..ON-Klausel kann nicht mehr als eine Bedingung enthalten
  3. Die Abfrage ignoriert die letzte Bedingung und wird ohne ORA-Fehler ausgeführt
  4. Die JOIN..ON-Klausel kann in der oben angegebenen Form geschrieben werden, um weitere Bedingungen zu stellen.

Answer: D. Die WHERE-Klausel kann weggelassen werden und die relevanten Bedingungen können in der JOIN..ON-Klausel selbst berücksichtigt werden, wie in der angegebenen Abfrage gezeigt

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. Wenn NATURAL JOIN verwendet wird, ist eine WHERE-Klausel obligatorisch, die einen Fehler auslässt
  2. Die ON-Klausel sollte durch die USING-Klausel ersetzt werden
  3. Die Wörter NATURAL, JOIN und USING beziehen sich gegenseitig ausschließlich auf dieselbe Join-Klausel
  4. Eine Abfrage kann die Klauseln NATURAL JOIN und ON (oder USING) beim Beitritt nicht kombinieren.

Answer: C, D.

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

  1. Sie treten basierend auf dem Schlüsselwort NON-EQUI JOIN bei
  2. Sie werden mit der JOIN..ON-Klausel mit dem Zeichen "=" verwendet
  3. Die Ergebnisse werden erhalten, wenn das Ergebnis der genannten Ungleichung als wahr bewertet wird.
  4. Nichts des oben Genannten

Answer: C. Die Nicht-Equi-Joins werden mit der JOIN..ON-Klausel verwendet, jedoch mit Ungleichungsoperatoren.

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. Es wird ein ORA-Fehler ausgegeben, da die Bedingung in der ON-Klausel falsch ist.
  2. Es wird ein ORA-Fehler aufgrund eines Syntaxfehlers ausgelöst, da die ON-Klausel kein Gleichheitszeichen "=" enthält
  3. Es wird erfolgreich ausgeführt und gibt den Vor- und Nachnamen sowie die Mitarbeiter-ID der Mitarbeiter mit der genannten Bedingung an.
  4. Nicht-Equi-Joins können nur zum Anzeigen von Ungleichheiten und nicht von Bereichen verwendet werden.

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. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist wahr
  2. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 0
  3. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 1
  4. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist falsch

Answer: A. Eine Gleichheitsverknüpfung wird erstellt, wenn Daten, die Datensätze aus zwei verschiedenen Tabellen verbinden, genau übereinstimmen (dh eine Gleichheitsbedingung erstellt die Beziehung). Der herkömmliche Ansatz verwendet ein Gleichheitszeichen als Vergleichsoperator in der WHERE-Klausel. Der JOIN-Ansatz kann die Schlüsselwörter NATURAL JOIN, JOIN ... USING oder JOIN ... ON verwenden.

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. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist wahr
  2. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 0
  3. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 1
  4. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist falsch

Answer: A. Eine Gleichheitsverknüpfung wird erstellt, wenn Daten, die Datensätze aus zwei verschiedenen Tabellen verbinden, genau übereinstimmen (dh eine Gleichheitsbedingung erstellt die Beziehung). Der herkömmliche Ansatz verwendet ein Gleichheitszeichen als Vergleichsoperator in der WHERE-Klausel. Der JOIN-Ansatz kann die Schlüsselwörter NATURAL JOIN, JOIN ... USING oder JOIN ... ON verwenden.

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. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist wahr
  2. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 0
  3. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 1
  4. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist falsch

Answer: A. Eine Gleichheitsverknüpfung wird erstellt, wenn Daten, die Datensätze aus zwei verschiedenen Tabellen verbinden, genau übereinstimmen (dh eine Gleichheitsbedingung erstellt die Beziehung). Der herkömmliche Ansatz verwendet ein Gleichheitszeichen als Vergleichsoperator in der WHERE-Klausel. Der JOIN-Ansatz kann die Schlüsselwörter NATURAL JOIN, JOIN ... USING oder JOIN ... ON verwenden.

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. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist wahr
  2. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 0
  3. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist 1
  4. Das Ergebnis der Ungleichungsübereinstimmungsoperation ist falsch

Answer: A. Eine Gleichheitsverknüpfung wird erstellt, wenn Daten, die Datensätze aus zwei verschiedenen Tabellen verbinden, genau übereinstimmen (dh eine Gleichheitsbedingung erstellt die Beziehung). Der herkömmliche Ansatz verwendet ein Gleichheitszeichen als Vergleichsoperator in der WHERE-Klausel. Der JOIN-Ansatz kann die Schlüsselwörter NATURAL JOIN, JOIN ... USING oder JOIN ... ON verwenden.

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

  1. Es sind nur zwei Tabellen erforderlich, damit der Join funktioniert
  2. Die Spalten in der Ergebnismenge stammen aus zwei Tabellen, werden jedoch in einer Tabelle angezeigt
  3. Konzeptionell dupliziert sich die Quelltabelle selbst, um die Zieltabelle zu erstellen. (Oracle dupliziert keine Tabellen)
  4. Alles das oben Genannte

Answer: C. Self-Joins werden verwendet, wenn eine Tabelle mit sich selbst verbunden werden muss, um die benötigten Daten abzurufen. In der FROM-Klausel sind Tabellen-Aliase erforderlich, um einen Self-Join durchzuführen.

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 ;

Welche der folgenden Tabellen behandelt Oracle als Quelltabelle und Zieltabelle?

  1. a ist Quelle und b ist Ziel
  2. b ist Quelle und a ist Ziel
  3. Oracle behandelt keine der Tabellen als Quelle oder Ziel
  4. Nichts des oben Genannten

Answer: A. Das erste Auftreten der Mitarbeitertabelle wird als Quelle und die nachfolgenden Vorkommen als b, c usw. verwendet.

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

  1. Wenn wir die doppelten Datensätze in einer Tabelle finden müssen
  2. Wenn wir NULL-Werte aus einer Tabelle erhalten müssen
  3. Wenn wir eine Spalte einer Tabelle zweimal anzeigen müssen
  4. Wenn wir die Hierarchie der relevanten Entitäten anzeigen müssen

Answer: D.

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

  1. Die verknüpften Spalten haben denselben Namen, können jedoch unterschiedliche Datentypen haben
  2. Die verbundenen Spalten können denselben Datentyp, aber unterschiedliche Namen haben
  3. Die verbundenen Spalten sollten identische Namen und denselben Datentyp haben
  4. Nichts des oben Genannten

Answer: C. Für die Schlüsselwörter NATURAL JOIN ist keine Bedingung erforderlich, um die Beziehung zwischen zwei Tabellen herzustellen. Es muss jedoch eine gemeinsame Spalte vorhanden sein. Spaltenqualifizierer können nicht mit den Schlüsselwörtern NATURAL JOIN verwendet werden.

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. Das WHERE kann für zusätzliche Bedingungen nach der NATURAL JOIN-Klausel verwendet werden.

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

  1. Wenn die Namen der Spalten aus den Tabellen identisch sind, verwenden Sie die USING-Klausel
  2. Wenn die Datentypen der Spalten aus den Tabellen identisch sind, verwenden Sie NATURAL JOINS
  3. Wenn mehrere Spalten denselben Namen haben, die Datentypen jedoch nicht übereinstimmen, kann USING verwendet werden
  4. NATURAL JOINS sollten nur verwendet werden, wenn die Spaltennamen und ihre Datentypen identisch sind

Answer: C, D. NATURAL JOINS und USING schließen sich gegenseitig aus. Die USING-Klausel sollte verwendet werden, um nur eine Spalte abzugleichen, wenn mehr als eine Spalte übereinstimmt.

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. Es gibt die Namen und den Bonus an, die alle Mitarbeiter eines Unternehmens erhalten haben
  2. Es gibt die Namen und den Bonus an, die alle Mitarbeiter einer bestimmten Berufsbezeichnung in einem Unternehmen erhalten haben
  3. Es wird erfolgreich ausgeführt, indem alle Namen und der Bonus angegeben werden, die alle Mitarbeiter in allen Jobs erhalten haben
  4. Es wird ein ORA-Fehler ausgegeben.

Answer: D. Die in der USING-Klausel verwendeten Spalten sollten an keiner Stelle in der SQL-Anweisung ein Qualifikationsmerkmal (Tabellenname oder Alias) enthalten.

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

  1. INNER JOIN gibt nur die übereinstimmenden Zeilen zurück
  2. OUTER JOIN gibt nur die Zeilen zurück, die nicht übereinstimmen
  3. OUTER JOIN gibt die übereinstimmenden und nicht übereinstimmenden Zeilen zurück
  4. Nichts des oben Genannten

Answer: A, C. Ein Join kann ein innerer Join sein, bei dem die einzigen zurückgegebenen Datensätze einen übereinstimmenden Datensatz in allen Tabellen enthalten, oder ein äußerer Join, bei dem Datensätze zurückgegeben werden können, unabhängig davon, ob der Join einen übereinstimmenden Datensatz enthält. Ein äußerer Join wird erstellt, wenn Datensätze müssen in die Ergebnisse aufgenommen werden, ohne dass entsprechende Datensätze in den Verknüpfungstabellen enthalten sind. Diese Datensätze werden mit NULL-Datensätzen abgeglichen, sodass sie in der Ausgabe enthalten sind.

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

  1. Wenn sowohl LEFT OUTER JOIN als auch RIGHT OUTER JOIN in derselben Abfrage angezeigt werden, wird dies als FULL OUTER JOIN bezeichnet
  2. Ein FULL OUTER JOIN ist dasselbe wie ein OUTER JOIN
  3. Sowohl A als auch B
  4. Ein Join zwischen zwei Tabellen, der die Ergebnisse eines INNER-Joins und eines LEFT- und RIGHT-OUTER-JOIN zurückgibt, wird als FULL-OUTER-JOIN bezeichnet

Answer: D. Ein vollständiger äußerer Join enthält alle Datensätze aus beiden Tabellen, auch wenn kein entsprechender Datensatz in der anderen Tabelle gefunden wird.

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 );

Diese Abfrage führt zu einem Fehler. Was ist der Grund für den Fehler?

  1. Ein JOIN..USING kann nur zwischen zwei Tabellen gleichzeitig erfolgen
  2. Die USING-Klausel in der Abfrage enthält keine Spalte aus der Abteilung
  3. Die Abfrage enthält keine WHERE-Klausel
  4. Nichts des oben Genannten

Answer: A. Tabelle1 JOIN Tabelle2 JOIN Tabelle3 ist ohne die ON-Klauseln für zwischen jedem JOIN nicht zulässig

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. Der FULL OUTER JOIN gibt die nicht übereinstimmenden Zeilen aus beiden Tabellen zurück. Ein vollständiger äußerer Join enthält alle Datensätze aus beiden Tabellen, auch wenn kein entsprechender Datensatz in der anderen Tabelle gefunden wird.

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

  1. Kartesische Produkte
  2. Natürliche Verbindungen
  3. Voller OUTER-Join
  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. Mit Ausnahme von 'Center' sind Rest-3-Typen die Formattypen der Outer Joins in Oracle DB. Mit der JOIN-Methode für äußere Verknüpfungen können Sie die Schlüsselwörter LEFT, RIGHT oder FULL hinzufügen.

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. ON (e.department_id = d.department_id) sollte hinzugefügt werden
  2. USING (e.department_id) sollte hinzugefügt werden
  3. WO e.department_id in (100,101) hinzugefügt werden soll
  4. Nichts des oben Genannten

Answer: C. Die NATURAL JOIN-Klausel stimmt implizit mit allen identischen benannten Spalten überein. Um zusätzliche Bedingungen hinzuzufügen, kann die WHERE-Klausel verwendet werden.

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 Gehalt> 20000;
  2. USING (e.department_id) WHERE Gehalt> 20000;
  3. USING (department_id) WHERE Gehalt> 20000;
  4. WO Gehalt> 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 (department_id = 100);
  2. USING (e.department_id = 100);
  3. WHERE d.department_id = 100;
  4. ON (e.department_id = d.department_id und d.department_id = 100);

Answer: D. Die Equi-Joins können für weitere Bedingungen nach der ON-Klausel hinzugefügt werden.

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. Die Option C ist falsch, da die nicht aliasisierte Abteilungs-ID in der WHERE-Klausel einen Fehler auslöst.

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. Der FULL OUTER JOIN gibt alle übereinstimmenden sowie nicht übereinstimmenden Zeilen aus beiden Tabellen mit Ausnahme doppelter Werte an.

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. Es werden alle Boni angezeigt, die alle Mitarbeiter erhalten haben.
  2. In der Bonusspalte wird NULL angezeigt, wenn ein bestimmter Mitarbeiter keinen Bonus erhalten hat
  3. Sowohl A als auch B
  4. Nichts des oben Genannten

Answer: B. Das (+) auf der linken Seite der Gleichung bedeutet, dass es sich um eine RECHTE AUSSENVERBINDUNG handelt und umgekehrt.

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. Wenn die Spalten der verknüpften Tabellen NULL-Werte haben
  2. Wenn die verknüpften Tabellen NOT NULL-Spalten haben
  3. Wenn die verknüpften Tabellen nur nicht übereinstimmende Daten enthalten
  4. Wenn die verknüpften Tabellen sowohl übereinstimmende als auch nicht übereinstimmende Daten enthalten

Answer: A, D. Ein äußerer Join wird erstellt, wenn Datensätze in die Ergebnisse aufgenommen werden müssen, ohne dass entsprechende Datensätze in den Join-Tabellen enthalten sind. Diese Datensätze werden mit NULL-Datensätzen abgeglichen, sodass sie in der Ausgabe enthalten sind.

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. Nichts des oben Genannten

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)

Bewerten Sie diese SQL-Anweisung:

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 ;

Was passiert, wenn Sie alle Klammern aus der Berechnung entfernen?

  1. Der in der Spalte calc_val angezeigte Wert ist geringer.
  2. Der in der Spalte calc_val angezeigte Wert ist höher.
  3. In der Spalte calc_val gibt es keinen Unterschied.
  4. Ein Fehler wird gemeldet.

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. Um die Note für jeden Mitarbeiter zu finden
  2. Zum Auflisten des Namens, der Job-ID und des Managernamens für alle Mitarbeiter
  3. So finden Sie den Abteilungsnamen der Mitarbeiter.
  4. Ermittlung der Anzahl der Mitarbeiter, die für die Verwaltungsabteilung arbeiten und weniger als 30000 verdienen

Answer: A. Ein Nicht-Gleichheits-Join stellt eine Beziehung her, die auf etwas anderem als einer Gleichheitsbedingung basiert. Bereichswerte, die bei Nichtgleichheitsverknüpfungen verwendet werden, müssen sich gegenseitig ausschließen.

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

  1. Sie möchten ein Non-Equijoin erstellen.
  2. Die zu verbindenden Tabellen haben mehrere NULL-Spalten.
  3. Die zu verbindenden Tabellen haben gleichnamige Spalten und unterschiedliche Datentypen.
  4. Sie möchten einen NATURAL-Join verwenden, aber Sie möchten die Anzahl der Spalten in der Join-Bedingung einschränken.

Answer: C, D. Der Ansatz JOIN .... USING ähnelt dem Ansatz NATURAL JOIN, außer dass die gemeinsame Spalte in der USING-Klausel angegeben ist. Eine Bedingung kann nicht in die USING-Klausel aufgenommen werden, um anzugeben, wie die Tabellen zusammenhängen. Darüber hinaus können Spaltenqualifizierer nicht für die in der USING-Klausel angegebene allgemeine Spalte verwendet werden.

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)

Untersuchen Sie die folgenden zwei SQL-Anweisungen:

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 );

Welche Aussage trifft auf das Ergebnis zu?

  1. Nur Abfrage 1 wird erfolgreich ausgeführt und liefert das erforderliche Ergebnis.
  2. Nur Abfrage 2 wird erfolgreich ausgeführt und liefert das erforderliche Ergebnis.
  3. Beide Abfragen 1 und 2 werden erfolgreich ausgeführt und liefern unterschiedliche Ergebnisse.
  4. Beide Abfragen 1 und 2 werden erfolgreich ausgeführt und liefern das gleiche erforderliche Ergebnis.

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.

Sie stellen die folgende Abfrage:

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) ;

Welche Aussage trifft auf die obige Abfrage zu?

  1. Es wird erfolgreich ausgeführt und liefert das gewünschte Ergebnis.
  2. Es wird erfolgreich ausgeführt, liefert jedoch nicht das erforderliche Ergebnis.
  3. Es wird ein Fehler ausgegeben, da die Verknüpfungsreihenfolge der Tabellen falsch ist.
  4. Es wird ein Fehler ausgegeben, da Equijoin- und Non-Equijoin-Bedingungen nicht in derselben SELECT-Anweisung verwendet werden können.

Answer: B.

73.Examine the structure of the EMPLOYEES table:

Sie möchten herausfinden, ob Mitarbeiterdaten mehrmals mit einer anderen EMPLOYEE_ID eingegeben wurden, indem Sie alle doppelten Namen auflisten. Mit welcher Methode können Sie das gewünschte Ergebnis erzielen?

  1. self-join
  2. Full Outer-Join mit Self-Join
  3. linker Outer-Join mit Self-Join
  4. rechter äußerer Join mit Self-Join

Answer: A. Self-Joins werden verwendet, wenn eine Tabelle mit sich selbst verbunden werden muss, um die benötigten Daten abzurufen. In der FROM-Klausel sind Tabellen-Aliase erforderlich, um einen Self-Join durchzuführen.

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);

Welche zwei JOIN-Optionen können in der obigen Abfrage im Leerzeichen verwendet werden, um die richtige Ausgabe zu erhalten?

  1. JOIN
  2. NATÜRLICHE VERBINDUNG
  3. LINKE ÄUSSERE VERBINDUNG
  4. RIGHT OUTER JOIN

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. AUS Abteilungen LEFT OUTER JOIN-Mitarbeiter USING (department_id) VOLLSTÄNDIGER OUTER JOIN-Bonus
  2. FULL OUTER JOIN-Abteilung USING (department_id);
  3. FROM Bonus JOIN Mitarbeiter USING (job_id)
  4. VON Mitarbeitern FULL OUTER JOIN Abteilungen FULL OUTER JOIN Bonus

Answer: A.

77. Examine the following exhibits:

Sie möchten einen Bericht erstellen, in dem die IDs der Mitarbeiter und die entsprechenden Provisionen und Abteilungen (falls vorhanden) aufgeführt sind, ob die Provisionen vorhanden sind oder nicht. Bewerten Sie die folgende Abfrage:

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

Welche Kombination von Verknüpfungen, die in den Leerzeichen der obigen Abfrage verwendet werden, liefert die richtige Ausgabe?

  1. BEITRETEN; LINKE ÄUSSERE VERBINDUNG
  2. FULL OUTER JOIN; VOLLSTÄNDIGER OUTER JOIN
  3. RECHTE AUSSENVERBINDUNG; LINKE ÄUSSERE VERBINDUNG
  4. LINKE ÄUSSERE VERBINDUNG; RIGHT OUTER JOIN

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. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da der Bonus in SELECT nicht mit einem Alias ​​versehen ist
  3. Es wird ein Fehler ausgegeben, da die USING-Klausel nicht mehr als eine Spalte enthalten darf.
  4. Es wird erfolgreich ausgeführt, aber die Ergebnisse sind nicht korrekt.

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');

Sagen Sie das Ergebnis der obigen Abfrage voraus.

  1. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da in der SELECT-Anweisung ein Qualifikationsmerkmal für CITY verwendet wird.
  3. Es wird ein Fehler ausgegeben, da die Spaltennamen in SELECT nicht übereinstimmen
  4. Es gibt einen Fehler, weil die USING-Klausel CITY hat, was keine übereinstimmende Spalte ist.

Answer: D. In der USING-Klausel sollten nur die übereinstimmenden Spaltennamen verwendet werden.

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';

Sie müssen einen Bericht extrahieren, der den Vornamen, die Abteilungsnummer, das Gehalt und die Prämien der Mitarbeiter eines Unternehmens mit dem Namen "ABC" enthält. Welche der folgenden Abfragen löst den Zweck?

  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. Nichts des oben Genannten

Answer: C. Die Abfrage A löst einen syntaktischen Fehler aus, die Abfrage B löst einen ungültigen Identifizierungsfehler zwischen Bonus und Abteilung aus.

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;

Welche Aussage trifft auf das Ergebnis dieser Abfrage zu?

  1. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da der NATURAL-Join nur mit zwei Tabellen verwendet werden kann.
  3. Es wird ein Fehler ausgegeben, da eine im NATURAL-Join verwendete Spalte kein Qualifikationsmerkmal haben kann.
  4. Es wird ein Fehler ausgegeben, da alle im NATURAL-Join verwendeten Spalten ein Qualifikationsmerkmal haben sollten.

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 ;

Welche JOIN-Option kann in der obigen Abfrage im Leerzeichen verwendet werden, um die erforderliche Ausgabe zu erhalten?

  1. Einfache innere Verbindung
  2. VOLLSTÄNDIGER OUTER JOIN
  3. LINKE ÄUSSERE VERBINDUNG
  4. RIGHT OUTER JOIN

Answer: C. Ein linker äußerer Join enthält alle Datensätze aus der Tabelle, die auf der linken Seite des Joins aufgeführt ist, auch wenn im Join-Vorgang keine Übereinstimmung mit der anderen Tabelle gefunden wird.

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. Nichts des oben Genannten

Answer: A.

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

  1. Es werden nur die Namen der Mitarbeiter angegeben und die Namen der Manager werden aus der Ergebnismenge ausgeschlossen
  2. Es wird das gleiche Ergebnis wie bei geschweiften Klammern "()" erzielt.
  3. Es wird ein ORA-Fehler ausgegeben, da bei Verwendung der JOIN..ON-Klausel die geschweiften Klammern "()" geschrieben werden müssen
  4. Nichts des oben Genannten

Answer: B. Die Klammern sind nicht obligatorisch, aber ihre Verwendung bietet eine klare Lesbarkeit der darin enthaltenen Bedingungen.

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. Alles das oben Genannte

Answer: A, B. Ein kartesischer Join zwischen zwei Tabellen gibt jede mögliche Kombination von Zeilen aus den Tabellen zurück. Ein kartesischer Join kann erstellt werden, indem keine Join-Operation in die Abfrage aufgenommen wird oder indem ein CROSS JOIN verwendet wird.

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

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

Answer: C. Oracle löst die Ausnahme "ORA-01719: Outer Join-Operator (+) im Operanden OR oder IN nicht zulässig" aus.

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. Nichts des oben Genannten

Answer: A. Eine Gleichheitsverknüpfung wird erstellt, wenn Daten, die Datensätze aus zwei verschiedenen Tabellen verbinden, genau übereinstimmen (dh eine Gleichheitsbedingung erstellt die Beziehung).

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. Nichts des oben Genannten

Answer: D. Keine Quijoins stimmen mit Spaltenwerten aus verschiedenen Tabellen basierend auf einem Ungleichungsausdruck überein. Der Wert der Verknüpfungsspalte in jeder Zeile in der Quelltabelle wird mit den entsprechenden Werten in der Zieltabelle verglichen. Eine Übereinstimmung wird gefunden, wenn der im Join verwendete Ausdruck, der auf einem Ungleichungsoperator basiert, als wahr ausgewertet wird. Wenn ein solcher Join erstellt wird, wird ein Nonequijoin ausgeführt. Ein Nonequijoin wird mit der Syntax JOIN..ON angegeben, aber die Join-Bedingung enthält einen Ungleichungsoperator anstelle eines Gleichheitszeichens.

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. äußere Verbindung

Answer: D. Ein vollständiger äußerer Join enthält alle Datensätze aus beiden Tabellen, auch wenn kein entsprechender Datensatz in der anderen Tabelle gefunden wird.

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. Nichts des oben Genannten

Answer: C. Wenn Tabellen in den Joins einen Alias ​​haben, müssen die ausgewählten Spalten mit dem Alias ​​und nicht mit den tatsächlichen Tabellennamen referenziert werden.

92. Given the following query.

SELECT zip, order#
FROM customers NATURAL JOIN orders;

Welche der folgenden Abfragen entspricht?

  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. nichts des oben Genannten

Answer: B. Natural Join weist Oracle an, Spalten mit identischen Namen zwischen der Quell- und der Zieltabelle zu identifizieren.

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. Linie 1
  2. Zeile 2
  3. Zeile 3
  4. Keine Fehler

Answer: A. Wenn eine Abfrage Aliasnamen in der Verknüpfungsbedingung verwendet, sollte ihre Spalte den Alias ​​als Referenz verwenden.

94. Given the following query:

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

Welche der folgenden Abfragen liefert die gleichen Ergebnisse?

  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. Nichts des oben Genannten

Answer: B, C.

95. Which of the below statements are true?

  1. Gruppenfunktionen können nicht für Daten aus mehreren Datenquellen verwendet werden.
  2. Wenn mehrere in einer Abfrage verknüpfte Tabellen identische Spalten enthalten, wählt Oracle nur eine davon aus.
  3. Natural Join wird verwendet, um Zeilen aus zwei Tabellen basierend auf identischen Spalten zu verbinden.
  4. A und B

Answer: C. Gruppenfunktionen können für eine Abfrage mithilfe von Oracle-Joins verwendet werden. Mehrdeutige Spalten müssen mit einem Qualifikationsmerkmal referenziert werden.

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. Linie 1
  2. Zeile 2
  3. Zeile 3
  4. Zeile 4

Answer: C. Da die Tabellen mit dem Schlüsselwort JOIN verknüpft werden, sollte die Gleichheitsbedingung mit der USING-Klausel und nicht mit der WHERE-Klausel geschrieben werden.

97. Given the following query:

SELECT title, gift
FROM books CROSS JOIN promotion;

Welche der folgenden Abfragen entspricht?

  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. Kartesische Joins sind dieselben wie Cross-Joins.

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. Cross Join ist das Kreuzprodukt der in den beiden Tabellen enthaltenen Zeilen.

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. Mehrdeutige Spalten müssen mit den Tabellenqualifizierern verknüpft werden.

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. nichts des oben Genannten

Answer: A. Unter der Annahme, dass die Spalte NAME nicht in der Tabelle BOOKS enthalten ist, ist Abfrage A gültig.

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. Alle oben genannten SQL-Anweisungen sind gültig.

Answer: B. Die Abfrage B löst eine Ausnahme aus: "ORA-01468: Ein Prädikat darf nur auf eine Tabelle mit äußeren Verknüpfungen verweisen."

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

  1. Wenn die Beziehung zwischen den Tabellen mit einer WHERE-Klausel hergestellt wird, können beide Tabellen den Outer Join-Operator enthalten.
  2. Um nicht übereinstimmende Datensätze in die Ergebnisse aufzunehmen, wird der Datensatz mit einem NULL-Datensatz in der fehlerhaften Tabelle gepaart.
  3. Die Schlüsselwörter RIGHT, LEFT und FULL sind äquivalent.
  4. Alles das oben Genannte

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. Linie 1
  2. Zeile 3
  3. Zeile 4
  4. Zeile 5

Answer: B. Da die in der Abfrage verwendeten Tabellen ein Qualifikationsmerkmal haben, müssen die Spalten mit demselben Qualifikationsmerkmal referenziert werden.

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

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

Answer: D. Der Tabellenalias darf maximal 30 Zeichen lang sein.

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. nichts des oben Genannten

Answer: C.