Fragen zur Gruppenfunktion verwenden

1. Which of the following is NOT a GROUP BY function?

  1. MAX
  2. MIN
  3. NVL
  4. AVG

Answer: C. NVL ist eine allgemeine Funktion, mit der alternative Werte zu den NULL-Werten bereitgestellt werden. Die Funktionen MAX, MIN und AVG können als GROUP BY-Funktionen verwendet werden.

2. Which of the following functions can be used without GROUP BY clause in SELECT query?

  1. COUNT
  2. MAX
  3. MIN
  4. AVG

Answer: A, B, C, D. Alle aufgelisteten Gruppenfunktionen können in einer Abfrage verwendet werden, sofern in der SELECT-Abfrage keine anderen Spalten ausgewählt sind.

3. Which of the following SELECT query returns the department number with maximum salary compensated to an employee? (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 department_id , max(salary ) FROM employees ;
  2. SELECT department_id , max(salary ) FROM employees  GROUP BY department_id ;
  3. SELECT max(salary ) FROM employees  GROUP BY department_id ;
  4. SELECT max(salary ) FROM employees ;

Answer: B. Mit der MAX-Funktion kann das maximale Gehalt in einer Abteilung zurückgegeben werden, in der jede Gruppe von einer Abteilung gebildet wird.

4. Which of the following statements are true about the COUNT function?

  1. Die COUNT-Funktion zählt die Anzahl der Zeilen
  2. Die COUNT (*) -Funktion zählt die Anzahl der Zeilen mit Duplikaten und NULL-Werten
  3. Die Funktion COUNT (DISTINCT) zählt die Anzahl der unterschiedlichen Zeilen
  4. COUNT (*) entspricht COUNT (ALL)

Answer: B. Der COUNT (*) zählt die Anzahl der Zeilen einschließlich Duplikaten und NULL-Werten. Verwenden Sie die Schlüsselwörter DISTINCT und ALL, um doppelte und NULL-Werte einzuschränken.

5. What are the appropriate data types accepted by GROUP BY functions?

  1. Verschachtelte Tabellen
  2. NUMBER
  3. CLOB
  4. DATE

Answer: B. Die Datentypen für die Funktionen mit einem Argument können CHAR, VARCHAR2, NUMBER oder DATE sein.

6. A table T_COUNT has 12 number values as 1, 2, 3, 32, 1, 1, null, 24, 12, null, 32, null. Predict the output of the below query.

SELECT COUNT (*) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. Löst eine Ausnahme aus, da die COUNT-Funktion nicht mit NULL-Werten funktioniert

Answer: A. Der COUNT (*) zählt die Anzahl der Zeilen einschließlich Duplikaten und NULL-Werten. Verwenden Sie die Schlüsselwörter DISTINCT und ALL, um doppelte und NULL-Werte einzuschränken.

7. A table T_COUNT has 12 number values as 1, 2, 3, 32, 1, 1, null, 24, 12, null, 32, null. Predict the output of the below query.

SELECT COUNT (num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. Löst eine Ausnahme aus, da die COUNT-Funktion nicht mit NULL-Werten funktioniert

Answer: C. COUNT (Spalte) ignoriert die NULL-Werte, zählt jedoch die Duplikate.

8. A table T_COUNT has 12 number values as 1, 2, 3, 32, 1, 1, null, 24, 12, null, 32, null. Predict the output of the below query.

SELECT COUNT (ALL num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. Löst eine Ausnahme aus, da die COUNT-Funktion nicht mit NULL-Werten funktioniert

Answer: C. COUNT (ALL-Spalte) ignoriert die NULL-Werte, zählt jedoch die Duplikate.

9. A table T_COUNT has 12 number values as 1, 2, 3, 32, 1, 1, null, 24, 12, null, 32, null. Predict the output of the below query.

SELECT COUNT (DISTINCT num) FROM t_count;
  1. 12
  2. 6
  3. 9
  4. Löst eine Ausnahme aus, da die COUNT-Funktion nicht mit NULL-Werten funktioniert

Answer: B. COUNT (Spalte DISTINCT) zählt die unterschiedlichen Werte ungleich Null.

10. What happens when the below query is executed in SQL* Plus?

SELECT COUNT() FROM dual;
  1. Wird erfolgreich ausgeführt und gibt keine Ausgabe zurück
  2. Wird erfolgreich ausgeführt und gibt die Ausgabe als '1' zurück.
  3. Löst die Ausnahme "ORA-00909: Ungültige Anzahl von Argumenten" aus
  4. Löst die Ausnahme "ORA-00904:" COUNT ": ungültiger Bezeichner" aus, da die COUNT-Funktion nicht mit der DUAL-Tabelle funktioniert

Answer: C. Die COUNT-Funktion erfordert mindestens ein Argument, das entweder die Spalte mit [ALL | sein kann DISTINCT] Modifikator oder '*'.

11. Here are few statements about VARIANCE function in SQL.

ich. Die Funktion akzeptiert mehrere numerische Eingaben und gibt die Varianz aller Werte zurück

ii. Die Funktion akzeptiert eine Zahlenspalte und gibt die Varianz aller Spaltenwerte einschließlich NULL zurück

iii. Die Funktion akzeptiert eine Zahlenspalte und gibt die Varianz aller Spaltenwerte mit Ausnahme von NULL zurück

Wählen Sie die richtige Kombination aus den folgenden Optionen.

  1. i und iii
  2. ich und ii
  3. ii
  4. iii

Answer: C. Die VARIANCE-Funktion akzeptiert ein einzelnes numerisches Argument als Spaltennamen und gibt die Varianz aller Spaltenwerte unter Berücksichtigung von NULL zurück.

12. Which of the following is NOT a GROUP BY extensions in SQL?

  1. GRUPPIERE NACH
  2. GRUPPENSÄTZE
  3. CUBE
  4. ROLLUP

Answer: A. Mit GROUPING SETS-Operationen können mehrere GROUP BY-Aggregationen mit einer einzigen Abfrage ausgeführt werden.

13. Select the correct statements about the below query. Consider the table structure as given.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SELECT department_id , SUM(salary )
FROM employees 
GROUP BY department_id ;
  1. SUM ist eine Gruppe nach Funktionen, da sie eine Gruppe von Mitarbeitern verarbeitet, die in einer Abteilung arbeiten
  2. SUM ist eine Aggregatfunktion, da sie ein Ergebnis pro Datengruppe erzeugt
  3. SUM ist eine einzelne Zeilenfunktion, da sie einen einzelnen Wert für eine Gruppe, dh eine Abteilung, zurückgibt
  4. SUM ist eine Group-by-Extension-Funktion, da sie die GROUP BY-Klausel verwendet, um die Abteilungen logisch zu gruppieren

Answer: A. SUM ist eine Gruppenfunktion, die die Summe der Gehälter einer Gruppe von Mitarbeitern berechnet, die in einer Abteilung arbeiten.

14. Which clause is used to filter the query output based on aggregated results using a group by function?

  1. WHERE
  2. LIMIT
  3. GRUPPE WO
  4. HAVING

Answer: D. Die HAVING-Klausel wird zum Einschränken der Gruppenergebnisse verwendet. Mit der HAVING-Klausel geben Sie die Gruppen an, die angezeigt werden sollen, wodurch die Gruppen auf der Grundlage aggregierter Informationen weiter eingeschränkt werden. Die HAVING-Klausel kann vor der GROUP BY-Klausel stehen. Es wird jedoch empfohlen, die GROUP BY-Klausel zuerst zu platzieren, da dies logischer ist. Gruppen werden gebildet und Gruppenfunktionen berechnet, bevor die HAVING-Klausel auf die Gruppen in der SELECT-Liste angewendet wird.

15. Examine the given table structure and predict the outcome of 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)
SELECT count(*)
FROM employees 
WHERE comm = NULL;
  1. Die Abfrage gibt die Anzahl der Mitarbeiter zurück, die keine Provision haben
  2. Die Abfrage löst einen Fehler aus, da bei der Suche nach dem NULL-Wert kein Gleichheitszeichen verwendet werden kann
  3. Die Abfrage gibt die Anzahl der Mitarbeiter in einer Abteilung zurück, deren Provision den Wert NULL hat
  4. Die Abfrage löst einen Fehler aus, da die GROUP BY-Klausel in der Abfrage fehlt

Answer: B. Das Ausschließen von NULL-Werten mit der WHERE-Bedingung ist eine Möglichkeit, die Abfrage anzuweisen, NULL-Werte zu ignorieren. Aber hier ist die Verwendung des Operators IS NULL falsch. Die Bedingung sollte "WHERE comm IS NULL" sein.

16. Which of the following statements is true about the group functions?

  1. Die MIN-Funktion kann nur mit numerischen Daten verwendet werden.
  2. Die MAX-Funktion kann nur mit Datumswerten verwendet werden.
  3. Die AVG-Funktion kann nur mit numerischen Daten verwendet werden.
  4. Die SUMME-Funktion kann nicht Teil einer verschachtelten Funktion sein.

Answer: C. Die AVG-Funktion kann nur mit numerischen Werten verwendet werden. Andere Funktionen, die eine solche Einschränkung aufweisen, sind SUM, STDDEV und VARIANCE.

17. Which of the following is a valid SELECT statement?

  1. SELECT AVG(retail-cost) FROM books GROUP BY category;
  2. SELECT category, AVG(retail-cost) FROM books;
  3. SELECT category, AVG(retail-cost) FROM books WHERE AVG(retail-cost) > 8.56 GROUP BY category;
  4. SELECT category, AVG(retail-cost) Profit FROM books GROUP BY category HAVING profit > 8.56;

Answer: A. Spaltenaliasnamen können nicht in der GROUP BY- oder HAVING-Klausel verwendet werden.

18. Which of the following statements is correct?

  1. Die WHERE-Klausel kann nur dann eine Gruppenfunktion enthalten, wenn die Funktion nicht auch in der SELECT-Klausel aufgeführt ist.
  2. Gruppenfunktionen können nicht in den Klauseln SELECT, FROM oder WHERE verwendet werden.
  3. Die HAVING-Klausel wird immer vor der WHERE-Klausel verarbeitet.
  4. Die GROUP BY-Klausel wird immer vor der HAVING-Klausel verarbeitet.

Answer: D. Oracle löst zwar keinen Fehler aus, wenn die HAVING-Klausel vor der GROUP BY-Klausel steht, sondern wird erst verarbeitet, nachdem die GROUP BY-Klausel verarbeitet wurde und die Gruppe gefiltert werden kann.

19. Which of the following is not a valid SQL statement?

  1. SELECT MIN(pubdate) FROM books GROUP BY category HAVING pubid = 4;
  2. SELECT MIN(pubdate) FROM books WHERE category = 'COOKING';
  3. SELECT COUNT(*) FROM orders WHERE customer# = 1005;
  4. SELECT MAX(COUNT(customer#)) FROM orders GROUP BY customer#;

Answer: A.

20. Which of the following statements is correct?

  1. Mit der COUNT-Funktion können Sie bestimmen, wie viele Zeilen einen NULL-Wert enthalten.
  2. In Gruppenfunktionen sind nur unterschiedliche Werte enthalten, es sei denn, das Schlüsselwort ALL ist in der SELECT-Klausel enthalten.
  3. Die WHERE-Klausel schränkt ein, welche Zeilen verarbeitet werden.
  4. Die HAVING-Klausel bestimmt, welche Gruppen in den Abfrageergebnissen angezeigt werden.

Answer: C, D. Die WHERE-Klausel schränkt die Zeilen ein, bevor sie gruppiert und verarbeitet werden, während die HAVING-Klausel die Gruppen einschränkt.

21. Which of the following is a valid SQL statement?

  1. SELECT customer#, order#, MAX(shipdate-orderdate) FROM orders GROUP BY customer# WHERE customer# = 1001;
  2. SELECT customer#, COUNT(order#) FROM orders GROUP BY customer#;
  3. SELECT customer#, COUNT(order#) FROM orders GROUP BY COUNT(order#);
  4. SELECT customer#, COUNT(order#) FROM orders GROUP BY order#;

Answer: B. Die GROUP BY-Klausel muss alle Spalten außer der in der Gruppenfunktion verwendeten enthalten.

22. Which of the following SELECT statements lists only the book with the largest profit?

  1. SELECT title, MAX(retail-cost) FROM books GROUP BY title;
  2. SELECT title, MAX(retail-cost) FROM books GROUP BY title HAVING MAX(retail-cost);
  3. SELECT title, MAX(retail-cost) FROM books;
  4. Nichts des oben Genannten

Answer: A.

23. Which of the following statement(s) is/are correct?

1. Eine Gruppenfunktion kann innerhalb einer Gruppenfunktion verschachtelt sein.

2. Eine Gruppenfunktion kann in einer einzeiligen Funktion verschachtelt sein.

3. Eine einzeilige Funktion kann innerhalb einer Gruppenfunktion verschachtelt werden.

  1. 1
  2. 2
  3. 3
  4. 1 und 3

Answer: A, B, C. Gruppenfunktionen können nur bis zu einer Tiefe von zwei verschachtelt werden. Gruppenfunktionen können in einzeiligen Funktionen verschachtelt sein (AVG eingebettet in eine TO_CHAR-Funktion). Darüber hinaus können einzeilige Funktionen in Gruppenfunktionen verschachtelt werden.

24. Which of the following functions is used to calculate the total value stored in a specified column?

  1. COUNT
  2. ADD
  3. TOTAL
  4. SUM

Answer: D. Die SUMME-Funktion wird verwendet, um numerische Werte hinzuzufügen.

25. Which of the following SELECT statements lists the highest retail price of all books in the Family category?

  1. SELECT MAX(retail) FROM books WHERE category = 'FAMILY';
  2. SELECT MAX(retail) FROM books HAVING category = 'FAMILY';
  3. SELECT retail FROM books WHERE category = 'FAMILY' HAVING MAX(retail);
  4. Nichts des oben Genannten

Answer: A. Da die Kategorie FAMILY vor dem Gruppieren eingeschränkt werden muss, müssen Tabellenzeilen mit der WHERE-Klausel und nicht mit der HAVING-Klausel gefiltert werden.

26. Which of the following functions can be used to include NULL values in calculations?

  1. SUM
  2. NVL
  3. MAX
  4. MIN

Answer: B.NVL ist eine allgemeine Funktion zum Bereitstellen alternativer Werte zu den NULL-Werten. Bei arithmetischen Berechnungen mit den Gruppenfunktionen AVG, STDDEV und VARIANCE kann dies wirklich einen Unterschied machen.

27. Which of the following is not a valid statement?

  1. Sie müssen das Schlüsselwort ALL in eine Gruppenfunktion eingeben, um alle doppelten Werte einzuschließen.
  2. Mit der AVG-Funktion kann die durchschnittliche berechnete Differenz zwischen zwei Daten ermittelt werden.
  3. Die Funktionen MIN und MAX können für VARCHAR2-Spalten verwendet werden.
  4. Alles das oben Genannte

Answer: A. Das Schlüsselwort ALL zählt Duplikate, ignoriert jedoch NULL-Werte. Duplikate sind auch in der Spezifikation '*' und Spaltennamen enthalten.

28. Which of the following SQL statements determines how many total customers were referred by other customers?

  1. SELECT customer#, SUM(referred) FROM customers GROUP BY customer#;
  2. SELECT COUNT(referred) FROM customers;
  3. SELECT COUNT(*) FROM customers;
  4. SELECT COUNT(*) FROM customers WHERE referred IS NULL;

Answer: B. Wenn alle Kunden als eine Gruppe betrachtet werden, zählt COUNT (verwiesen) nur diejenigen, die von jemandem verwiesen werden. COUNT (verwiesen) ignoriert NULL-Werte der Spalte.

29. Determine the correct order of execution of following clauses in a SELECT statement.

1.WÄHLEN

2.VOM

3.WO

4.GRUPPE NACH

5.HABEN

6. BESTELLUNG VON

  1. 2-3-4-5-1-6
  2. 1-2-3-4-5-6
  3. 6-5-4-3-2-1
  4. 5-4-2-3-1-6

Answer: A. Die Verarbeitungsreihenfolge beginnt mit der FROM-Klausel, um die Tabellennamen abzurufen. Anschließend werden die Zeilen mit der WHERE-Klausel eingeschränkt, mit der GROUP BY-Klausel gruppiert und die Gruppen mit der HAVING-Klausel eingeschränkt. Die ORDER BY-Klausel ist die letzte, die verarbeitet wird, um den endgültigen Datensatz zu sortieren.

30. Which of the below clauses is used to group a set of rows based on a column or set of columns?

  1. HAVING
  2. WHERE
  3. GRUPPIERE NACH
  4. GROUPING

Answer: C. Die GROUP BY-Klausel bildet die Gruppen der Daten basierend auf der angegebenen Spaltenliste.

31. Which of the following group functions can be used for population variance and population standard deviation problems?

  1. VAR_POP
  2. STDDEV_POP
  3. VARIANCE
  4. STDDEV_SASMP

Answer: A, B.

32. Select the positions in a SELECT query where a group function can appear.

  1. SELECT-Anweisung
  2. WHERE-Klausel
  3. ORDER BY-Klausel
  4. GROUP BY-Klausel

Answer: A, C, D. Gruppenfunktionen können in den Klauseln SELECT, ORDER BY und HAVING enthalten sein. Oracle löst eine Ausnahme aus, wenn Gruppenfunktionen in WHERE- oder GROUP BY-Klauseln verwendet werden.

33. Examine the structure of the EMPLOYEES table as given. Which query will return the minimum salary in each department?

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
  1. SELECT department_id , MIN (salary ) from EMPLOYEES ;
  2. SELECT department_id , MIN (salary ) from EMPLOYEES  GROUP BY department_id ;
  3. SELECT department_id , MIN (salary ) from EMPLOYEES  GROUP BY salary ;
  4. SELECT department_id , MIN (salary ) from EMPLOYEES  GROUP BY employee_id ;

Answer: B. Die MIN-Funktion gibt das Mindestgehalt in einer von der Abteilung gebildeten Gruppe zurück.

34. Examine the structure for the table EMPLOYEES and Interpret the output of the below query

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SELECT COUNT(*), COUNT(all comm) FROM employees ;
  1. Es wird ein Fehler ausgegeben, da in einer Abfrage nur eine Aggregatfunktion verwendet werden kann.
  2. Es wird ein Fehler ausgegeben, da die GROUP BY-Klausel fehlt.
  3. Es wird erfolgreich ausgeführt und gibt für beide die gleichen Werte zurück.
  4. Es wird erfolgreich ausgeführt, wenn COUNT (*) einschließlich NULL und COUNT (alle Kommunikation) ohne NULL.

Answer: D.

35. Which of the following are true about group functions?

  1. Sie können Gruppenfunktionen in jeder Klausel einer SELECT-Anweisung verwenden.
  2. Sie können Gruppenfunktionen nur in der Spaltenliste der select-Klausel und in der WHERE-Klausel einer SELECT-Anweisung verwenden.
  3. Sie können einzelne Zeilenspalten mit Gruppenfunktionen in der Spaltenliste einer SELECT-Anweisung mischen, indem Sie die einzelnen Zeilenspalten gruppieren.
  4. Sie können Spaltennamen, Ausdrücke, Konstanten oder Funktionen als Parameter an eine Gruppenfunktion übergeben.

Answer: C. Gruppenfunktionen können nur bis zu einer Tiefe von zwei verschachtelt werden. Gruppenfunktionen können in einzeiligen Funktionen verschachtelt sein (AVG eingebettet in eine TO_CHAR-Funktion). Darüber hinaus können einzeilige Funktionen in Gruppenfunktionen verschachtelt werden.

36. Examine the structure of the table EMPLOYEES as given. You want to create a "emp_dept_sales" view by executing the following SQL statements.

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)
CREATE VIEW emp_dept_sales
AS
SELECT d.department_name , sum(e.salary )
FROM employees  e, departments  d
where e.department_id =d.department_id 
GROUP by d.department_name ;

Welche Aussage trifft auf die Ausführung der obigen Aussage zu?

  1. Die Ansicht wird erstellt und Sie können DLM-Vorgänge für die Ansicht ausführen
  2. Die Ansicht wird nicht erstellt, da die Join-Anweisungen zum Erstellen einer Ansicht nicht zulässig sind
  3. Die Ansicht wird nicht erstellt, da die GROUP BY-Klausel zum Erstellen einer Ansicht nicht zulässig ist
  4. Die Ansicht wird erstellt, es sind jedoch keine DML-Vorgänge für die Ansicht zulässig

Answer: D. Regeln zum Ausführen von DML-Vorgängen in einer Ansicht. Sie können keine Daten über eine Ansicht hinzufügen, wenn die Ansicht Gruppenfunktionen oder eine GROUP BY-Klausel oder ein DISTINCT-Schlüsselwort enthält. Das Schlüsselwort ROWNUM der Pseudospalte Spalten, die durch Ausdrücke NOT NULL-Spalten in den Basistabellen definiert sind, die von der Ansicht nicht ausgewählt werden.

37. Which of the following statements are true regarding views?

  1. Eine Unterabfrage, die eine Ansicht definiert, kann die GROUP BY-Klausel nicht enthalten
  2. Eine Ansicht wird erstellt, wobei die Unterabfrage mit dem Schlüsselwort DISTINCT aktualisiert werden kann
  3. Eine DML-Operation (Data Manipulation Language) kann für eine Ansicht ausgeführt werden, die mit der Unterabfrage erstellt wird, die alle NOT NULL-Spalten einer Tabelle enthält
  4. Eine Ansicht, die mit der Unterabfrage mit dem Schlüsselwort ROWNUM der Pseudospalte erstellt wird, kann nicht aktualisiert werden

Answer: C, D. Regeln zum Ausführen von DML-Vorgängen in einer Ansicht. Sie können keine Daten über eine Ansicht hinzufügen, wenn die Ansicht Gruppenfunktionen oder eine GROUP BY-Klausel oder ein DISTINCT-Schlüsselwort enthält. Das Schlüsselwort ROWNUM der Pseudospalte Spalten, die durch Ausdrücke NOT NULL-Spalten in den Basistabellen definiert sind, die von der Ansicht nicht ausgewählt werden.

38. Examine the table structure as given.

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)

Welche Klausel in der folgenden SQL-Abfrage generiert einen Fehler?

SELECT department_id , avg(salary )
FROM departments 
WHERE upper(job) in ('SALES','CLERK')
GROUP BY job
ORDER BY department_id ;
  1. WHERE
  2. SELECT
  3. SORTIEREN NACH
  4. GRUPPIERE NACH

Answer: D. Die GROUP BY-Klausel muss alle Spalten enthalten, die in der SELECT-Anweisung enthalten sind. Es wird ein Fehler ausgelöst, da JOB keine ausgewählte Spalte ist. Es sollte DEPARTMENT_ID anstelle von JOB verwendet haben.

39. Examine 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)

Welche der folgenden SELECT-Abfragen zeigt das maximale und minimale Gehalt an, das von jeder Jobkategorie verdient wird?

  1. SELECT job, MAX(salary ), MIN (salary ) FROM employees  GROUP BY department_id ;
  2. SELECT job, MAX(salary ), MIN (salary ) FROM employees  GROUP BY job;
  3. SELECT job, MAX(salary ), MIN (salary ) FROM employees ;
  4. Zwei Aggregatfunktionen können in der SELECT-Anweisung nicht zusammen verwendet werden.

Answer: B. In der SELECT-Anweisung können mehrere Gruppenfunktionen angezeigt werden.

40. 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)

Untersuchen Sie den Fehler in der folgenden Abfrage.

SELECT department_id 
FROM employees 
WHERE hiredate > '01-JAN-1985'
AND COUNT(*) > 2
GROUP by department_id 
HAVING SUM (salary ) > 1000;
  1. Es wird erfolgreich ausgeführt und generiert das erforderliche Ergebnis.
  2. Es wird ein Fehler ausgegeben, da COUNT (*) auch in der SELECT-Klausel angegeben werden sollte.
  3. Es wird erfolgreich ausgeführt, liefert jedoch kein Ergebnis, da COUNT (prod_id) anstelle von COUNT (*) verwendet werden sollte.
  4. Es wird ein Fehler ausgegeben, da COUNT (*) nur in der HAVING-Klausel und nicht in der WHERE-Klausel enthalten sein sollte.

Answer: D. Gruppenfunktionen können in der WHERE-Klausel nicht verwendet werden. Das kann in der Klausel SELECT, HAVING und ORDER BY erscheinen.

41. Examine 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)

Sagen Sie das Ergebnis der folgenden Abfrage voraus

SELECT job, COUNT(employee_id ),sum(salary )
FROM employees 
GROUP BY job
HAVING SUM (salary ) > 5000;
  1. Es wird erfolgreich ausgeführt und listet die Anzahl der Mitarbeiter unter jeder Jobkategorie auf, ignoriert jedoch die HAVING-Klausel, da "Gehalt" nicht in der GROUP BY-Klausel enthalten ist.
  2. Es wird ein Fehler ausgegeben, da die HAVING-Klausel ungültig ist.
  3. Es wird ein Fehler ausgegeben, da "Gehalt" nicht in der GROUP BY-Klausel enthalten ist.
  4. Es wird erfolgreich ausgeführt und listet die Anzahl der Mitarbeiter in jeder Kategorie mit einer Gehaltssumme von mehr als 5000 auf.

Answer: D. Die HAVING-Klausel schränkt die Gruppenergebnisse ein. Die COUNT-Funktion wird zum Zählen verwendet, während SUM zum Hinzufügen der numerischen Werte verwendet wird.

42. What is true of using group functions on columns that contain NULL values?

  1. Gruppenfunktionen in Spalten ignorieren NULL-Werte.
  2. Gruppenfunktionen für Spalten, die Datumsangaben zurückgeben, enthalten NULL-Werte.
  3. Gruppenfunktionen für Spalten, die Zahlen zurückgeben, enthalten NULL-Werte.
  4. Gruppenfunktionen für Spalten können für Spalten mit NULL-Werten nicht genau verwendet werden.

Answer: A. Mit Ausnahme der COUNT-Funktion ignorieren alle Gruppenfunktionen NULL-Werte.

43. Which of the following statetments are true about the usage of GROUP BY columns in a subquery?

  1. Unterabfragen können GROUP BY- und ORDER BY-Klauseln enthalten.
  2. Unterabfragen dürfen keine GROUP BY- und ORDER BY-Klauseln enthalten.
  3. Unterabfragen können ORDER BY enthalten, jedoch nicht die GROUP BY-Klausel.
  4. Unterabfragen dürfen ORDER BY nicht enthalten, können jedoch die GROUP BY-Klausel enthalten.

Answer: A. Wie die primäre Abfrage kann eine Unterabfrage eine GROUP BY- sowie eine ORDER BY-Klausel enthalten.

Examine the table structure as given and answer the questions 44 to 49 that follow.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)

44. Predict the outcome of the below query

SELECT avg(max(salary ))
FROM employees 
GROUP BY department_id 
HAVING avg(max(salary ))>100;
  1. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da die HAVING-Klausel nicht gültig ist.
  3. Es wird ein Fehler ausgegeben, da der GROUP BY-Ausdruck ungültig ist.
  4. Es wird ein Fehler ausgegeben, da Aggregatfunktionen nicht in der SELECT-Anweisung verschachtelt werden können.

Answer: B. Die HAVING-Klausel erlaubt keine Verschachtelung von Aggregatfunktionen.

45. Predict the output of the below query

SELECT avg(salary ), department_id 
FROM employees 
GROUP BY department_id ;
  1. Es gibt einen Fehler, da eine Aggregatfunktion nicht direkt nach der SELECT-Klausel angezeigt werden kann.
  2. Es gibt einen Fehler, weil die GROUP BY-Klausel ungültig ist.
  3. Es wird fehlerfrei ausgeführt, erzeugt jedoch keine Ausgabe.
  4. Es wird erfolgreich ausgeführt und gibt Durchschnittsgehalt in jeder Abteilung.

Answer: D. Gruppenfunktionen können in beliebiger Reihenfolge (vor oder nach der Gruppierung nach Spalten) in einer SELECT-Abfrage verwendet werden.

46. Predict the output of the below query

SELECT lower(job),avg(salary )
FROM employees 
GROUP BY upper(job);
  1. Es wird erfolgreich ausgeführt und zeigt "Job" in Kleinbuchstaben an.
  2. Es wird erfolgreich ausgeführt, zeigt jedoch im Originalfall "Job" an.
  3. Es wird ein Fehler ausgegeben, da einzelne Zeilen- und Aggregatfunktionen nicht zusammen verwendet werden können.
  4. Es wird ein Fehler ausgegeben, da die Fallkonvertierung in der SELECT-Liste nicht mit der GROUP BY-Klausel für die Fallkonvertierung übereinstimmt.

Answer: D. Die Funktion LOWER, die eine einzelne Zeilenfunktion ist, muss in der GROUP BY-Klausel angegeben werden, um die Gruppierung der EMPLOYEES-Daten zu begründen.

47. Which of the below query executes successfully?

  1. SELECT employee_id , COUNT(hiredate-sysdate) FROM employees ;
  2. SELECT AVG(salary ), MAX(salary ) FROM employees ;
  3. SELECT AVG(salary ), MAX(salary ) FROM employees  GROUP BY department_id ;
  4. SELECT AVG(hiredate) FROM employees ;

Answer: B, C. Die erste Abfrage verarbeitet die gesamten EMPLOYEES-Daten, während die zweite die Daten in Abteilungsgruppen verarbeitet.

48. Identify the error in the below SELECT statement.

SELECT department_id , AVG (salary )
FROM employees 
GROUP BY department_id 
HAVING department_id  > 10;
  1. Es wird erfolgreich ausgeführt und zeigt ein Durchschnittsgehalt von Abteilungen über 10 an.
  2. Es wird ein Fehler ausgegeben, da in der HAVING-Klausel keine nicht aggregierte Spalte verwendet werden kann.
  3. Es wird erfolgreich ausgeführt, zeigt jedoch ein falsches Ergebnis für die Abteilungen an.
  4. Es wird ein Fehler ausgegeben, da die HAVING-Klausel vor der GROUP BY-Klausel stehen muss.

Answer: A. GROUP BY-Ausdrücke können in der HAVING-Klausel verwendet werden, um die Gruppen aus dem endgültigen Datensatz herauszufiltern.

49. Predict the output of the below query

SELECT department_id , AVG (salary )
FROM employees 
GROUP BY department_id 
HAVING (department_id >10 and AVG(salary )>2000);
  1. Es wird ein Fehler ausgegeben, da in der HAVING-Klausel nicht mehrere Bedingungen angegeben werden können.
  2. Es wird ein Fehler ausgegeben, da eine nicht aggregierte Spalte in der HAVING-Klausel nicht verwendet werden kann.
  3. Es wird erfolgreich ausgeführt und zeigt ein Durchschnittsgehalt der Abteilung von mehr als 10 und mehr als 2000 an.
  4. Es wird erfolgreich ausgeführt, aber es wird kein Ergebnis angezeigt.

Answer: C. Die HAVING-Klausel kann mehrere Bedingungen auferlegen, die mithilfe des AND- oder OR-Operators die Gruppen filtern.

50. Which of the following group functions can be used with DATE values?

  1. AVG
  2. MIN
  3. SUM
  4. COUNT

Answer: B, D. Die Gruppenfunktionen AVG und SUM können nur mit numerischen Daten verwendet werden.

51. Which of the following statements are true?

  1. AVG und SUM können nur mit numerischen Datentypen verwendet werden.
  2. STDDEV und VARIANCE können nur mit numerischen Datentypen verwendet werden.
  3. MAX kann mit dem Datentyp LONG verwendet werden.
  4. MAX und MIN können nicht mit LOB- oder LONG-Datentypen verwendet werden.

Answer: A, B, D. Die Gruppenfunktionen AVG, SUM, VARIANCE und STDDEV können nur mit numerischen Daten verwendet werden. Keine der Gruppenfunktionen kann mit dem Datentyp LONG verwendet werden.

52. Examine 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)

Identifizieren Sie den Fehler in der folgenden Abfrage.

SELECT department_id , avg(salary ), count(hiredate)
FROM employees 
GROUP BY department_id ;
  1. Mehrere Aggregatfunktionen können nicht in einer einzelnen SELECT-Abfrage verwendet werden
  2. Die GROUP BY-Klausel ist ungültig
  3. Die COUNT-Funktion kann nicht mit DATE-Werten verwendet werden
  4. Keine Fehler und es wird erfolgreich ausgeführt

Answer: D.

53. Which of the following group function can be used with LOB data types?

  1. MAX
  2. MIN
  3. COUNT
  4. Keine von diesen

Answer: D. Bei LOB-Datentypen kann keine Aggregatfunktion verwendet werden.

54. Examine 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)

Prognostizieren Sie die Ausgabe der folgenden beiden Abfragen

Query - 1

SELECT avg(comm)
FROM employees ;

Query - 2

SELECT avg(nvl(comm,0))
FROM employees ;
  1. Beide Abfragen führen zu demselben Ergebnis
  2. Abfrage 1 und Abfrage 2 führen zu unterschiedlichen Ergebnissen, da Abfrage 1 NULL-Werte von COMM berücksichtigt und Abfrage 2 NULL-Werte von COMM durch Null ersetzt
  3. Abfrage - 1 erzeugt einen Fehler, da COMM NULL-Werte hat
  4. Abfrage - 2 erzeugt einen Fehler, da NVL nicht mit der Aggregatfunktion verschachtelt werden kann.

Answer: B. Die AVG-Funktion ignoriert NULL-Werte bei der Berechnung des Durchschnitts numerischer Daten. AVG (Spalte) berechnet den Durchschnitt nur für Nicht-Null-Werte. Wenn jedoch NVL verwendet wird, um NULL-Werte durch eine Null zu ersetzen, werden alle Werte berücksichtigt.

55. Choose the correct statements about the GROUP BY clause.

  1. Der Spaltenalias kann in der GROUP BY-Klausel verwendet werden.
  2. Die Spalte GROUP BY muss sich in der SELECT-Klausel befinden.
  3. Die GROUP BY-Klausel muss zusammen mit der HAVING-Klausel eine SELECT-Abfrage enthalten.
  4. Die GROUP BY-Klausel muss in einer SELECT-Abfrage nach der WHERE-Klausel stehen.

Answer: D. Gemäß der Verarbeitungssequenz muss die GROUP BY-Klausel in einer SELECT-Abfrage nach der WHERE-Klausel stehen.

56. Examine 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)

Sagen Sie das Ergebnis der folgenden Abfrage voraus

SELECT department_id ,avg(salary )
FROM employees 
GROUP BY department_id , job
ORDER BY department_id ;
  1. Es wird ein Fehler ausgegeben, da die GROUP BY-Spaltenliste nicht mit der SELECT-Spaltenliste übereinstimmt.
  2. Es wird erfolgreich ausgeführt und erzeugt in jeder Abteilung ein Durchschnittsgehalt einer Jobkategorie.
  3. Es wird erfolgreich ausgeführt und liefert ein Durchschnittsgehalt für eine Abteilung in jeder Jobkategorie.
  4. Es wird ein Fehler ausgegeben, da die GROUP BY- und ORDER BY-Klausel unterschiedliche Spaltenlisten haben.

Answer: B. Obwohl die GROUP BY-Klausel die Gruppen implizit sortiert, können die GROUP BY- und ORDER BY-Klauseln zusammen in einer Abfrage verwendet werden.

57. Which clause should you use to exclude group results in a query using group functions?

  1. WHERE
  2. HAVING
  3. GRUPPIERE NACH
  4. SORTIEREN NACH

Answer: B. Die HAVING-Klausel wird verwendet, um die Gruppen einzuschränken.

Examine the table structure as given and answer the questions 58 and 59 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)

58. Predict the outcome of the below query

SELECT department_id ,avg(salary )
FROM employees 
HAVING avg(salary )>2000
GROUP BY department_id 
ORDER BY department_id
  1. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da die HAVING-Klausel vor der GROUP BY-Klausel steht.
  3. Es wird ein Fehler ausgegeben, da die HAVING-Klausel die Aggregatfunktion verwendet.
  4. Es wird ausgeführt, aber es werden keine Ergebnisse angezeigt, da die HAVING-Klausel vor der GROUP BY-Klausel steht.

Answer: A. Die HAVING-Klausel kann der GROUP BY-Klausel vorangehen, wird jedoch erst verarbeitet, nachdem die Gruppenergebnisse berechnet wurden.

59. Predict the outcome of the below query

SELECT department_id , COUNT(first_name )
FROM employees 
WHERE job IN ('SALESMAN','CLERK','MANAGER','ANALYST')
GROUP BY department_id 
HAVING AVG(salary ) BETWEEN 2000 AND 3000;
  1. Es wird ein Fehler zurückgegeben, da der Operator BETWEEN nicht in der HAVING-Klausel verwendet werden kann.
  2. Es wird ein Fehler zurückgegeben, da die WHERE- und HAVING-Klauseln nicht in derselben SELECT-Anweisung verwendet werden können.
  3. Es wird ein Fehler zurückgegeben, da die WHERE- und HAVING-Klauseln nicht zum Anwenden von Bedingungen auf dieselbe Spalte verwendet werden können.
  4. Es wird erfolgreich ausgeführt.

Answer: D. Die WHERE-Klausel beschränkt die Anzahl der Zeilen, die an der Verarbeitung von Gruppenklauseln teilnehmen.

60. Which statements are true regarding the WHERE and HAVING clauses in a SELECT statement?

  1. Die HAVING-Klausel kann mit Gruppenfunktionen in Unterabfragen verwendet werden.
  2. Mit der WHERE-Klausel können Zeilen ausgeschlossen werden, nachdem sie in Gruppen unterteilt wurden.
  3. Mit der WHERE-Klausel können Zeilen ausgeschlossen werden, bevor sie in Gruppen unterteilt werden.
  4. Die WHERE- und HAVING-Klauseln können nur dann in derselben Anweisung verwendet werden, wenn sie auf verschiedene Spalten in der Tabelle angewendet werden.

Answer: A, C. WHERE- und HAVING-Klausel können zusammen in einer Abfrage verwendet werden. WHERE schließt die Zeilen vor der Gruppenverarbeitung aus, während HAVING die Gruppen einschränkt.

Examine the table structure as given and answer the questions 61 and 62 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)

61. Predict the outcome of the below query.

SELECT department_id , avg(salary )
FROM employees 
HAVING avg(salary ) > min(salary )
GROUP BY department_id ;
  1. Es wird ein Fehler ausgegeben, da die in der HAVING-Klausel verwendeten Aggregatfunktionen in der SELECT-Liste enthalten sein müssen.
  2. Es wird ein Fehler ausgegeben, da die HAVING-Klausel vor der GROUP BY-Klausel angezeigt wird.
  3. Es werden die Abteilungen angezeigt, deren Durchschnittsgehalt über dem Mindestgehalt der Abteilung liegt.
  4. Es werden die Abteilungen angezeigt, deren Durchschnittsgehalt über dem Mindestgehalt der Organisation liegt.

Answer: C. Gruppenfunktionen können von der HAVING-Klausel verwendet werden, um die Gruppen zu filtern.

62. Interpret the output of the below query.

SELECT SUM(AVG(LENGTH(first_name )))
FROM employees  
GROUP BY department_id ;
  1. Es berechnet die Summe der Durchschnittswerte der Länge des Namens des Mitarbeiters in jeder Abteilung.
  2. Es berechnet die durchschnittliche Länge des Mitarbeiternamens in jeder Abteilung.
  3. Es wird ein Fehler ausgegeben, da die Funktion für einzelne Zeilen nicht mit Gruppenfunktionen verwendet werden kann.
  4. Es wird ein Fehler ausgegeben, da die Gruppenspalte DEPARTMENT_ID nicht in der SELECT-Liste verwendet wird.

Answer: A. Gruppenfunktionen können mit einzeiligen oder allgemeinen Funktionen in der SELECT-Abfrage verwendet werden.

63. Up to how many levels, the group functions can be nested?

  1. 1
  2. 2
  3. 3
  4. Keine Grenzen

Answer: B. Gruppenfunktionen können maximal bis zu 2 Ebenen verschachtelt werden. Einzelne Zeilenfunktionen können jedoch bis zu einer beliebigen Anzahl von Ebenen verschachtelt werden.

64. What is the limit of number of groups within the groups created by GROUP BY clause?

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

Answer: D. Die Anzahl der Gruppen und Untergruppen, die gebildet werden können, ist unbegrenzt.

65. Choose the correct statements about the HAVING clause.

  1. Die HAVING-Klausel ist eine optionale Klausel in der SELECT-Anweisung.
  2. Die HAVING-Klausel ist eine obligatorische Klausel, wenn die SELECT-Anweisung eine GROUP BY-Klausel verwendet.
  3. Die HAVING-Klausel kann nur dann in einer SELECT-Anweisung enthalten sein, wenn sie eine GROUP BY-Klausel verwendet.
  4. Die HAVING-Klausel ist eine obligatorische Klausel, wenn die SELECT-Anweisung eine GROUP BY-Klausel verwendet.

Answer: A, C. Die HAVING-Klausel kann in einer Abfrage nur angezeigt werden, wenn die GROUP BY-Klausel vorhanden ist, umgekehrt jedoch nicht.

66. What is the output of the below query.

SELECT count(*) FROM dual GROUP BY dummy;
  1. 1
  2. 0
  3. NULL
  4. Wirft einen Fehler aus, da Gruppenfunktionen nicht auf die DUAL-Tabelle angewendet werden können.

Answer: A. Die DUAL-Tabelle enthält eine einzelne Spalte DUMMY vom Typ CHAR (1) mit dem Wert 'X'.

Based on the below scenario, answer the question from 67 to 74.

Eine Organisation hat 14 Mitarbeiter, die mit einem festen Gehalt von 1000 arbeiten. Das Unternehmen stellt 5 neue Mitarbeiter ein, deren Gehalt noch nicht von der Personalabteilung festgelegt wurde. Während der Verarbeitung zum Monatsende generiert die Personalabteilung jedoch mehrere Berichte, um die Finanzdaten der Organisation abzugleichen. Untersuchen Sie die Tabellenstruktur wie angegeben.

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)

67. What is the output of the below query?

SELECT SUM (salary ) FROM employees ;
  1. NULL
  2. 14000
  3. 19000
  4. 0

Answer: B. Die SUMME-Funktion addiert die Gehälter der Mitarbeiter.

68. What is the output of the below query?

SELECT AVG (salary ) FROM employees ;
  1. 1000
  2. 736.84
  3. NULL
  4. 0

Answer: A. Die AVG-Funktion (Gehalt) berechnet den Durchschnitt der Gehälter und ignoriert die NULL-Werte. In diesem Fall ist AVG (Gehalt) = (14 * 1000) / 14 = 1000.

69. What is the output of the below query?

SELECT AVG (nvl(salary ,0)) FROM employees ;
  1. 1000
  2. NULL
  3. 736.84
  4. 0

Answer: C. Die AVG (NVL (Gehalt, 0)) gibt den NULL-Werten einen alternativen Wert und ermöglicht ihnen, an der Durchschnittsberechnung teilzunehmen. In diesem Fall ist (14 * 1000) / 19 = 736,84.

70. What is the output of the below query?

SELECT VARIANCE (salary ) FROM employees ;
  1. 1000
  2. 0
  3. NULL
  4. 204678.36

Answer: B. Die VARIANCE (Gehalt) berechnet die Varianz der Gehaltsspaltenwerte, wobei NULL-Werte ignoriert werden.

71. What is the output of the below query?

SELECT VARIANCE (nvl(salary ,0)) FROM employees ;
  1. 1000
  2. 0
  3. NULL
  4. 204678.36

Answer: D. Die VARIANCE (NL (Gehalt, 0)) berechnet die Varianz der Gehaltsspaltenwerte einschließlich NULL.

72. What is the output of the below query?

SELECT STDDEV (salary ) FROM employees ;
  1. 1
  2. 1000
  3. 0
  4. NULL

Answer: C. Der STDDEV (Gehalt) berechnet die Standardabweichung der Gehaltsspaltenwerte, wobei NULL-Werte ignoriert werden.

73. What is the output of the below query?

SELECT STDDEV (nvl(salary ,0)) FROM employees ;
  1. 0
  2. 452.41
  3. 1000
  4. NULL

Answer: B. Der STDDEV (nvl (Gehalt, 0)) berechnet die Standardabweichung der Gehaltsspaltenwerte einschließlich NULL.

74. What is the output of the below query?

  1. 19,19
  2. 14,19
  3. 19,14
  4. 14,14

Answer: C. COUNT (*) enthält NULL-Werte, während COUNT (Gehalt) NULL-Werte ignoriert.

75. Examine 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)

Welche der folgenden Abfragen gibt die Abteilung an, in der mehr als 5 Mitarbeiter arbeiten?

  1. SELECT department_id  FROM employees  WHERE COUNT(*) > 5 GROUP BY department_id ;
  2. SELECT department_id  FROM employees  HAVING COUNT(*) > 5;
  3. SELECT department_id  FROM employees  GROUP BY employee_id  HAVING COUNT(*) > 5;
  4. SELECT department_id  FROM employees  GROUP BY department_id  HAVING COUNT(*) > 5;

Answer: D.

76. Which of the following are true about the CUBE extension of GROUP BY?

  1. Ermöglicht die Ausführung mehrerer GROUP BY-Klauseln mit einer einzigen Abfrage.
  2. Führt Aggregationen für alle möglichen Kombinationen von Spalten durch.
  3. Führt basierend auf der bereitgestellten Spaltenliste immer mehr kumulative Zwischensummen durch.
  4. Nichts des oben Genannten

Answer: B. CUBE, ROLLUP sind die GROUP BY-Erweiterungen, die für die OLAP-Verarbeitung verwendet werden. CUBE aggregiert die Ergebnisse, wenn eine neue Permutation der Spalte gebildet wird.

Use the following SELECT statement to answer below questions 77 to 82:

1 SELECT customer#, COUNT(*)
2 FROM customers JOIN orders USING (customer#)
3 WHERE orderdate > '02-APR-09'
4 GROUP BY customer#
5 HAVING COUNT(*) > 2;

77. Which line of the SELECT statement is used to restrict the number of records the query processes?

  1. 1
  2. 3
  3. 4
  4. 5

Answer: B. Die WHERE-Klausel wird verwendet, um die Zeilen einzuschränken, bevor die Gruppen gebildet werden.

78. Which line of the SELECT statement is used to restrict groups displayed in the query results?

  1. 1
  2. 3
  3. 4
  4. 5

Answer: D. HAVING wird verwendet, um die Gruppenergebnisse nach Abschluss der Gruppenverarbeitung einzuschränken.

79. Which line of the SELECT statement is used to group data stored in the database?

  1. 1
  2. 3
  3. 4
  4. 5

Answer: C. Die GROUP BY-Klausel verwendet die Gruppierung nach Spalten, um die Daten in der Tabelle zu gruppieren.

80. Which clause must be included for the query to execute successfully?

  1. 1
  2. 3
  3. 4
  4. 5

Answer: C. Da die SELECT-Klausel die Spalte CUSTOMER # enthält, muss die GROUP BY-Klausel die Spalte CUSTOMER # enthalten.

81. What is the purpose of using COUNT(*) in the SELECT query?

  1. Die Anzahl der Datensätze in den angegebenen Tabellen
  2. Die Anzahl der Bestellungen jedes Kunden
  3. Die Anzahl der NULL-Werte in den angegebenen Tabellen
  4. Die Anzahl der Kunden, die eine Bestellung aufgegeben haben

Answer: B. Es zählt die Anzahl der Zeilen, die unter einer Gruppe verarbeitet werden. In diesem Fall wird die Gruppe vom Kunden gebildet und COUNT (*) zählt die von jedem Kunden aufgegebenen Bestellungen.

82. Which of the following functions can be used to determine the earliest ship date for all orders recently processed by JustLee Books?

  1. COUNT-Funktion
  2. MAX-Funktion
  3. MIN-Funktion
  4. STDDEV-Funktion

Answer: C. Mit der MIN-Funktion wird der kleinste Wert der Spalte abgerufen. Bei Verwendung mit Datumsspalten wird das Mindestdatum aus der Spalte abgerufen.

83. Which of the following is not a valid SELECT statement?

  1. SELECT STDDEV(retail) FROM books;
  2. SELECT AVG(SUM(retail)) FROM orders NATURAL JOIN orderitems NATURAL JOIN books GROUP BY customer#;
  3. SELECT order#, TO_CHAR(SUM(retail),'999.99') FROM orderitems JOIN books USING (isbn) GROUP BY order#;
  4. SELECT title, VARIANCE(retail-cost) FROM books GROUP BY pubid;

Answer: D. Die GROUP BY-Klausel muss eine Spalte oder einen Satz von Spalten angeben, die in der SELECT-Klausel enthalten sind. Hier ist PUBID nicht in der SELECT-Klausel enthalten, daher ist die Abfrage ungültig.

84. Which of the below statements are true about the nesting of group functions?

  1. Die innerste Funktion wird zuerst aufgelöst.
  2. Oracle ermöglicht die Verschachtelung von Gruppenfunktionen auf bis zu 3 Ebenen.
  3. Einzelne Zeilenfunktionen können mit Gruppenfunktionen verschachtelt werden.
  4. Oracle ermöglicht das Verschachteln von Gruppenfunktionen auf bis zu 2 Ebenen.

Answer: A, C, D. In einem Ausdruck, der verschachtelte Funktionen enthält, wird zuerst die innerste Funktion ausgeführt, deren Ergebnis in die nächste Funktion eingespeist wird, die sich nach außen bewegt. Einzeilige Funktionen können gut mit Gruppenfunktionen verwendet werden, die maximal bis zu 2 Ebenen verschachtelt werden können.

85. What are the statistical group functions in Oracle?

  1. AVG
  2. STDDEV
  3. VARIANCE
  4. STATS

Answer: B, C. VARIANCE und STATS sind die statistischen Gruppenfunktionen, die in Oracle SQL verfügbar sind.

86. If the SELECT list contains a column and a group functions, which of the following clause must be mandatorily included?

  1. SORTIEREN NACH
  2. HAVING
  3. GRUPPIERE NACH
  4. Keine von diesen

Answer: C. Die GROUP BY-Klausel sollte unbedingt die Spalte oder den Satz von Spalten enthalten, die in der SELECT-Klausel enthalten sind.

87. Examine 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)

Was ist die beste Erklärung dafür, warum diese SQL-Anweisung NICHT ausgeführt wird?

SELECT department_id "Department", AVG (salary)"Average"
FROM employees
GROUP BY Department;
  1. Die Gehälter können nicht gemittelt werden, da sich nicht alle Zahlen gleichmäßig verteilen.
  2. Sie können keinen Spaltenalias in der GROUP BY-Klausel verwenden.
  3. Die GROUP BY-Klausel muss etwas zu GROUP enthalten.
  4. Die Abteilungs-ID ist nicht in der Abteilungstabelle aufgeführt.

Answer: B. Weder die GROUP BY-Klausel noch die HAVING-Klausel funktionieren mit Spaltenalias.

88. Which of the following data types are compatible with AVG, SUM, VARIANCE, and STDDEV functions?

  1. Nur numerische Datentypen
  2. Nur Ganzzahlen
  3. Beliebiger Datentyp
  4. Alle außer numerisch

Answer: A. Die Funktionen AVG, SUM, VARIANCE und STDDEV arbeiten zwingend nur mit numerischen Datentypen.

Examine the table structure as given below and answer the questions 89 and 90 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)

89. Which of the below query will display the number of distinct job categories working in each department?

  1. SELECT department_id , COUNT(DISTINCT job) FROM employees  GROUP BY job;
  2. SELECT department_id , COUNT(job) FROM employees  GROUP BY employee_id ;
  3. SELECT department_id , COUNT(job) FROM employees  GROUP BY department_id ;
  4. SELECT department_id , COUNT(DISTINCT job) FROM employees  GROUP BY department_id ;

Answer: D. Verwenden Sie den Modifikator DISTINCT, um die Duplikate herauszufiltern.

90. Evaluate this SQL statement:

SELECT employee_id , first_name , department_id , SUM(salary )
FROM employees 
WHERE salary  > 1000
GROUP BY department_id , employee_id , first_name 
ORDER BY hiredate;

Warum verursacht diese Aussage einen Fehler?

  1. Die HAVING-Klausel fehlt.
  2. Die WHERE-Klausel enthält einen Syntaxfehler.
  3. Die Spalte SALARY ist NICHT in der GROUP BY-Klausel enthalten.
  4. Die Spalte HIRE_DATE ist NICHT in der GROUP BY-Klausel enthalten.

Answer: D. Alle Spalten in der Klausel SELECT und ORDER BY müssen in der Klausel GROUP BY enthalten sein.

91. Which of the following statements is true about the GROUP BY clause?

  1. Um Zeilen auszuschließen, bevor Sie sie mithilfe der GROUP BY-Klausel in Gruppen aufteilen, sollten Sie eine WHERE-Klausel verwenden.
  2. Sie müssen die HAVING-Klausel mit der GROUP BY-Klausel verwenden.
  3. Spaltenalias kann in einer GROUP BY-Klausel verwendet werden.
  4. Standardmäßig werden Zeilen nicht sortiert, wenn eine GROUP BY-Klausel verwendet wird.

Answer: A. Mit einer WHERE-Klausel können Sie Zeilen ausschließen, bevor Sie sie in Gruppen unterteilen.

92. Examine 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)

Interpretieren Sie das Ergebnis der folgenden Abfrage.

SELECT department_id , MIN (hiredate)
FROM employees 
GROUP by department_id ;
  1. Das früheste Einstellungsdatum in der Organisation.
  2. Das späteste Einstellungsdatum in der Organisation.
  3. Das früheste Einstellungsdatum in einer Abteilung.
  4. Das späteste Einstellungsdatum in einer Abteilung.

Answer: C. Die Abfrage gibt den frühesten eingestellten Mitarbeiter in jeder Abteilung zurück.

93. Which statement about group functions is true?

  1. Gruppenfunktionen außer COUNT (*) ignorieren Nullwerte.
  2. Eine Abfrage, die eine Gruppenfunktion in der SELECT-Liste enthält, muss eine GROUP BY-Klausel enthalten.
  3. Gruppenfunktionen können in einer WHERE-Klausel verwendet werden.
  4. Gruppenfunktionen können nur in einer SELECT-Liste verwendet werden.

Answer: A. Alle Gruppenfunktionen außer COUNT (*) ignorieren NULL-Werte. Dies liegt daran, dass sie die Werte verarbeiten, die direkt in einer bestimmten Spalte enthalten sind.

94. Which of the following clauses represent valid uses of group functions?

  1. GRUPPE NACH MAX (Gehalt)
  2. BESTELLUNG VON AVG (Gehalt)
  3. HABEN MAX (Gehalt)> 10000
  4. SELECT AVG (NVL (Gehalt, 0))

Answer: B, C, D. Gruppenfunktionen können nur in den Klauseln SELECT, HAVING und ORDER BY angezeigt werden.

95. Which of the following statements are true about the GROUP BY clause?

  1. Die letzte in der GROUP BY-Klausel aufgeführte Spalte ist die wichtigste Gruppierung.
  2. Die erste Spalte in der GROUP BY-Klausel ist die wichtigste Gruppierung.
  3. Eine GROUP BY-Klausel kann nicht ohne eine ORDER BY-Klausel verwendet werden.
  4. Die GROUP BY-Klausel gewährleistet nicht die Sortierung der Ausgabe.

Answer: B. Die Gruppierung der Daten basiert auf der Reihenfolge der Spalten in der GROUP BY-Klausel.

96. What is difference between WHERE clause and HAVING clause?

  1. Die WHERE-Klausel beschränkt Zeilen vor dem Gruppieren, während die HAVING-Klausel Gruppen einschränkt.
  2. Die WHERE-Klausel kann keine Gruppenfunktion enthalten, die HAVING-Klausel jedoch.
  3. Die WHERE-Klausel kann mit AND- oder OR-Operatoren mehrere Bedingungen verbinden, die HAVING-Klausel jedoch nicht.
  4. Die WHERE-Klausel kann in der SELECT-Abfrage ohne GROUP BY-Klausel angezeigt werden, die HAVING-Klausel jedoch nicht.

Answer: A, B, D. Die WHERE-Klausel schränkt die Zeilen vor dem Gruppieren ein, HAVING schränkt jedoch die Gruppen ein.

97. Examine 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)

Sagen Sie das Ergebnis der folgenden Abfrage voraus.

SELECT department_id ,job,count(*)
FROM employees 
GROUP BY department_id ,job
ORDER BY department_id ,count(*);
  1. Es wird erfolgreich ausgeführt.
  2. Es wird ein Fehler ausgegeben, da die ORDER BY-Klausel ungültig ist.
  3. Es wird ein Fehler ausgegeben, da die GROUP BY-Klausel ungültig ist.
  4. Es wird ein Fehler ausgegeben, da die GROUP BY- und ORDER BY-Klausel nicht zusammen verwendet werden können.

Answer: A. Die ORDER BY-Klausel kann die Gruppenfunktionen zum Sortieren verwenden.