Grup İşlevleri Sorularını Kullanma
1. Which of the following is NOT a GROUP BY function?
- MAX
- MIN
- NVL
- AVG
Answer: C. NVL, NULL değerlere alternatif değer sağlamak için kullanılan genel bir işlevdir. MAX, MIN ve AVG işlevleri GROUP BY işlevleri olarak kullanılabilir.
2. Which of the following functions can be used without GROUP BY clause in SELECT query?
- COUNT
- MAX
- MIN
- AVG
Answer: A, B, C, D. Listelenen tüm grup işlevleri, SELECT sorgusunda başka sütun seçilmediği sürece bir sorguda kullanılabilir.
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)
SELECT department_id , max(salary ) FROM employees ;
SELECT department_id , max(salary ) FROM employees GROUP BY department_id ;
SELECT max(salary ) FROM employees GROUP BY department_id ;
SELECT max(salary ) FROM employees ;
Answer: B. MAKS işlevi, her grubun bir departman tarafından oluşturulduğu bir departmanda maksimum maaşı döndürmek için kullanılabilir.
4. Which of the following statements are true about the COUNT function?
- COUNT işlevi, satır sayısını sayar
- COUNT (*) işlevi, yinelenen ve NULL değerleri olan satırların sayısını sayar
- COUNT (DISTINCT) işlevi, farklı satırların sayısını sayar
- COUNT (*), COUNT (TÜMÜ) ile eşdeğerdir
Answer: B. COUNT (*), kopyalar ve NULL'lar dahil olmak üzere satır sayısını sayar. Yinelenen ve NULL değerleri kısıtlamak için DISTINCT ve ALL anahtar sözcüğünü kullanın.
5. What are the appropriate data types accepted by GROUP BY functions?
- İç içe Tablolar
- NUMBER
- CLOB
- DATE
Answer: B. Bağımsız değişkenli işlevler için veri türleri CHAR, VARCHAR2, NUMBER veya DATE olabilir.
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;
- 12
- 6
- 9
- COUNT işlevi NULL değerlerle çalışmadığı için istisna atar
Answer: A. COUNT (*), kopyalar ve NULL'lar dahil olmak üzere satır sayısını sayar. Yinelenen ve NULL değerleri kısıtlamak için DISTINCT ve ALL anahtar sözcüğünü kullanın.
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;
- 12
- 6
- 9
- COUNT işlevi NULL değerlerle çalışmadığı için istisna atar
Answer: C. COUNT (sütun) NULL değerleri yok sayar ancak kopyaları sayar.
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;
- 12
- 6
- 9
- COUNT işlevi NULL değerlerle çalışmadığı için istisna atar
Answer: C. COUNT (TÜM sütunu) NULL değerleri yok sayar ancak kopyaları sayar.
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;
- 12
- 6
- 9
- COUNT işlevi NULL değerlerle çalışmadığı için istisna atar
Answer: B. COUNT (DISTINCT sütunu), boş olmayan farklı değerleri sayar.
10. What happens when the below query is executed in SQL* Plus?
SELECT COUNT() FROM dual;
- Başarıyla yürütülür ve hiçbir çıktı döndürmez
- Başarıyla yürütür ve çıktıyı '1' olarak döndürür
- "ORA-00909: geçersiz sayıda bağımsız değişken" istisnasını atar
- COUNT işlevi DUAL tablosuyla çalışmadığından "ORA-00904:" COUNT ": geçersiz tanımlayıcı" istisnasını atar
Answer: C. COUNT işlevi, [TÜMÜ | DISTINCT] değiştiricisi veya '*'.
11. Here are few statements about VARIANCE function in SQL.
ben. İşlev, birden çok sayısal girdiyi kabul eder ve tüm değerlerin varyansını döndürür
ii. İşlev bir sayı sütununu kabul eder ve NULL'lar dahil tüm sütun değerlerinin varyansını döndürür
iii. İşlev bir sayı sütununu kabul eder ve NULL'lar hariç tüm sütun değerlerinin varyansını döndürür
Aşağıdaki seçeneklerden doğru kombinasyonu seçin.- ben ve iii
- ben ve ii
- ii
- iii
Answer: C. VARIANCE işlevi, sütun adı olarak tek sayısal bağımsız değişkeni kabul eder ve NULL değerleri dikkate alarak tüm sütun değerlerinin varyansını döndürür.
12. Which of the following is NOT a GROUP BY extensions in SQL?
- GRUPLAMA
- GRUPLAMA SETLERİ
- CUBE
- ROLLUP
Answer: A. GROUPING SETS işlemleri, tek bir sorgu ile birden fazla GROUP BY toplama işlemi gerçekleştirmek için kullanılabilir.
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 ;
- SUM, bir departmanda çalışan bir grup çalışanı işlediği için işleve göre bir gruptur.
- SUM, veri grubu başına bir sonuç ürettiği için bir toplama işlevidir
- TOPLA tek satırlı bir işlevdir çünkü bir grup için tek bir değer döndürür, yani bölüm
- SUM, departmanları mantıksal olarak gruplamak için GROUP BY yan tümcesini kullandığından, uzantıya göre bir grup işlevidir.
Answer: A. TOPLA, bir departmanda çalışan bir grup çalışanın maaşlarının toplamını hesaplayan bir grup işlevidir.
14. Which clause is used to filter the query output based on aggregated results using a group by function?
- WHERE
- LIMIT
- GRUP NEREDE
- HAVING
Answer: D. HAVING Clause, grup sonuçlarını kısıtlamak için kullanılır. HAVING yan tümcesini görüntülenecek grupları belirtmek için kullanırsınız, böylece grupları toplu bilgiler temelinde daha da kısıtlarsınız. HAVING yan tümcesi GROUP BY yan tümcesinden önce gelebilir, ancak daha mantıklı olduğu için GROUP BY yan tümcesini önce yerleştirmeniz önerilir. HAVING yan tümcesi SELECT listesindeki gruplara uygulanmadan önce gruplar oluşturulur ve grup işlevleri hesaplanır.
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;
- Sorgu, komisyonu olmayan çalışanların sayısını döndürür
- NULL değeri aranırken eşittir işareti kullanılamadığından sorgu hata verir
- Sorgu, komisyonu NULL olan bir departmandaki çalışanların sayısını döndürür
- Sorguda GROUP BY yan tümcesi eksik olduğundan sorgu hata verir
Answer: B. WHERE koşulunu kullanarak NULL'leri hariç tutmak, sorguyu NULL'leri yoksaymaya yönlendirmenin bir yoludur. Ancak burada IS NULL operatörünün kullanımı yanlıştır. Koşul, "WHERE comm IS NULL" olmalıdır.
16. Which of the following statements is true about the group functions?
- MIN işlevi yalnızca sayısal verilerle kullanılabilir.
- MAX işlevi yalnızca tarih değerleriyle kullanılabilir.
- AVG işlevi yalnızca sayısal verilerle kullanılabilir.
- TOPLA işlevi, iç içe geçmiş bir işlevin parçası olamaz.
Answer: C. AVG işlevi yalnızca sayısal değerlerle kullanılabilir. Bu tür kısıtlamalara sahip diğer işlevler TOPLA, STDDEV ve VARIANCE'tır.
17. Which of the following is a valid SELECT statement?
SELECT AVG(retail-cost) FROM books GROUP BY category;
SELECT category, AVG(retail-cost) FROM books;
SELECT category, AVG(retail-cost) FROM books WHERE AVG(retail-cost) > 8.56 GROUP BY category;
SELECT category, AVG(retail-cost) Profit FROM books GROUP BY category HAVING profit > 8.56;
Answer: A. Sütun takma adları GROUP BY veya HAVING yan tümcesinde kullanılamaz.
18. Which of the following statements is correct?
- WHERE yan tümcesi, yalnızca işlev SELECT yan tümcesinde de listelenmiyorsa bir grup işlevi içerebilir.
- Grup işlevleri SELECT, FROM veya WHERE yan tümcelerinde kullanılamaz.
- HAVING yan tümcesi her zaman WHERE yan tümcesinden önce işlenir.
- GROUP BY yan tümcesi her zaman HAVING yan tümcesinden önce işlenir.
Answer: D. HAVING yan tümcesi GROUP BY deyiminden önce gelirse Oracle hata oluşturmaz, ancak yalnızca GROUP BY yan tümcesi işlendikten ve grup filtrelenmeye hazır olduktan sonra işlenir.
19. Which of the following is not a valid SQL statement?
SELECT MIN(pubdate) FROM books GROUP BY category HAVING pubid = 4;
SELECT MIN(pubdate) FROM books WHERE category = 'COOKING';
SELECT COUNT(*) FROM orders WHERE customer# = 1005;
SELECT MAX(COUNT(customer#)) FROM orders GROUP BY customer#;
Answer: A.
20. Which of the following statements is correct?
- COUNT işlevi, kaç satırın NULL değeri içerdiğini belirlemek için kullanılabilir.
- ALL anahtar sözcüğü SELECT yan tümcesine dahil edilmedikçe, grup işlevlerine yalnızca farklı değerler dahil edilir.
- WHERE yan tümcesi, hangi satırların işleneceğini kısıtlar.
- HAVING yan tümcesi, sorgu sonuçlarında hangi grupların görüntüleneceğini belirler.
Answer: C, D. WHERE yan tümcesi, HAVING yan tümcesi grupları kısıtlarken, satırları gruplanmadan ve işlenmeden önce sınırlar.
21. Which of the following is a valid SQL statement?
SELECT customer#, order#, MAX(shipdate-orderdate) FROM orders GROUP BY customer# WHERE customer# = 1001;
SELECT customer#, COUNT(order#) FROM orders GROUP BY customer#;
SELECT customer#, COUNT(order#) FROM orders GROUP BY COUNT(order#);
SELECT customer#, COUNT(order#) FROM orders GROUP BY order#;
Answer: B. GROUP BY yan tümcesi, group işlevi içinde kullanılan hariç tüm sütunları içermelidir.
22. Which of the following SELECT statements lists only the book with the largest profit?
SELECT title, MAX(retail-cost) FROM books GROUP BY title;
SELECT title, MAX(retail-cost) FROM books GROUP BY title HAVING MAX(retail-cost);
SELECT title, MAX(retail-cost) FROM books;
- Yukarıdakilerin hiçbiri
Answer: A.
23. Which of the following statement(s) is/are correct?
1. Bir grup işlevi, bir grup işlevinin içine yerleştirilebilir.
2. Bir grup işlevi, tek satırlı bir işlevin içine yerleştirilebilir.
3. Tek sıralı bir işlev, bir grup işlevinin içine yerleştirilebilir.
- 1
- 2
- 3
- 1 ve 3
Answer: A, B, C. Grup işlevleri yalnızca iki derinliğe kadar yuvalanabilir. Grup işlevleri, tek satırlı işlevlerin içine yerleştirilebilir (bir TO_CHAR işlevine AVG katıştırılmış). Ek olarak, tek sıralı işlevler grup işlevlerinin içine yerleştirilebilir.
24. Which of the following functions is used to calculate the total value stored in a specified column?
- COUNT
- ADD
- TOTAL
- SUM
Answer: D. SUM işlevi, sayısal değerlerin toplamını almak için kullanılır.
25. Which of the following SELECT statements lists the highest retail price of all books in the Family category?
SELECT MAX(retail) FROM books WHERE category = 'FAMILY';
SELECT MAX(retail) FROM books HAVING category = 'FAMILY';
SELECT retail FROM books WHERE category = 'FAMILY' HAVING MAX(retail);
- Yukarıdakilerin hiçbiri
Answer: A. FAMILY kategorisinin gruplamadan önce kısıtlanması gerektiğinden, tablo satırları HAVING cümlesi değil WHERE cümlesi kullanılarak filtrelenmelidir.
26. Which of the following functions can be used to include NULL values in calculations?
- SUM
- NVL
- MAX
- MIN
Answer: B.NVL, NULL değerlere alternatif değerler sağlayan genel bir işlevdir. AVG, STDDEV ve VARIANCE grup işlevlerini kullanarak aritmetik hesaplamalarda gerçekten bir fark yaratabilir.
27. Which of the following is not a valid statement?
- Tüm yinelenen değerleri dahil etmek için bir grup işlevine ALL anahtar sözcüğünü girmelisiniz.
- AVG işlevi, iki tarih arasındaki ortalama hesaplanan farkı bulmak için kullanılabilir.
- MIN ve MAX işlevleri, VARCHAR2 sütunlarında kullanılabilir.
- Yukarıdakilerin hepsi
Answer: A. ALL anahtar sözcüğü kopyaları sayar ancak NULL'leri yok sayar. Yinelenenler ayrıca '*' ve sütun adı belirtimine dahildir.
28. Which of the following SQL statements determines how many total customers were referred by other customers?
SELECT customer#, SUM(referred) FROM customers GROUP BY customer#;
SELECT COUNT(referred) FROM customers;
SELECT COUNT(*) FROM customers;
SELECT COUNT(*) FROM customers WHERE referred IS NULL;
Answer: B. Tüm müşterileri tek bir grup olarak kabul edersek, COUNT (yönlendirilen) yalnızca birisi tarafından yönlendirilenleri sayacaktır. COUNT (başvurulan) sütunun NULL değerlerini yok sayacaktır.
29. Determine the correct order of execution of following clauses in a SELECT statement.
1. SEÇ
2. FROM
3. NEREDE
4. TARAFINDAN GRUP
5. GEÇME
6. SİPARİŞ VEREN
- 2-3-4-5-1-6
- 1-2-3-4-5-6
- 6-5-4-3-2-1
- 5-4-2-3-1-6
Answer: A. İşleme sırası, tablo adlarını almak için FROM cümlesinden başlar, ardından WHERE cümlesini kullanarak satırları kısıtlar, GROUP BY cümlesini kullanarak gruplandırır, HAVING cümlesini kullanarak grupları kısıtlar. ORDER BY yan tümcesi, son veri kümesini sıralamak için işlenecek son maddedir.
30. Which of the below clauses is used to group a set of rows based on a column or set of columns?
- HAVING
- WHERE
- GRUPLAMA
- GROUPING
Answer: C. GROUP BY yan tümcesi, belirtilen sütun listesine dayalı olarak veri gruplarını oluşturur.
31. Which of the following group functions can be used for population variance and population standard deviation problems?
- VAR_POP
- STDDEV_POP
- VARIANCE
- STDDEV_SASMP
Answer: A, B.
32. Select the positions in a SELECT query where a group function can appear.
- SELECT ifadesi
- WHERE cümlesi
- ORDER BY maddesi
- GROUP BY maddesi
Answer: A, C, D. Grup işlevleri SELECT, ORDER BY ve HAVING yan tümcesinde görünebilir. WHERE veya GROUP BY yan tümcelerinde grup işlevleri kullanılıyorsa Oracle istisna oluşturur.
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)
SELECT department_id , MIN (salary ) from EMPLOYEES ;
SELECT department_id , MIN (salary ) from EMPLOYEES GROUP BY department_id ;
SELECT department_id , MIN (salary ) from EMPLOYEES GROUP BY salary ;
SELECT department_id , MIN (salary ) from EMPLOYEES GROUP BY employee_id ;
Answer: B. MIN işlevi, departman tarafından oluşturulan bir gruptaki minimum maaşı döndürür.
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 ;
- Bir sorguda yalnızca bir toplama işlevi kullanılabildiğinden hata verir.
- GROUP BY yan tümcesi eksik olduğundan hata verir.
- Başarıyla yürütülür ve her ikisi için aynı değerleri döndürür.
- NULL'lar dahil COUNT (*) ve NULL'lar hariç COUNT (tüm iletişim) başarılı bir şekilde yürütülür.
Answer: D.
35. Which of the following are true about group functions?
- Bir SELECT ifadesinin herhangi bir yan tümcesinde grup işlevlerini kullanabilirsiniz.
- Grup işlevlerini yalnızca select yan tümcesinin sütun listesinde ve bir SELECT deyiminin WHERE yan tümcesinde kullanabilirsiniz.
- Tek satırlı sütunlar üzerinde gruplama yaparak, bir SELECT ifadesinin sütun listesindeki grup işlevleriyle tek sıralı sütunları karıştırabilirsiniz.
- Sütun adlarını, ifadeleri, sabitleri veya işlevleri parametre olarak bir grup işlevine geçirebilirsiniz.
Answer: C. Grup işlevleri yalnızca iki derinliğe kadar yuvalanabilir. Grup işlevleri, tek satırlı işlevlerin içine yerleştirilebilir (bir TO_CHAR işlevine AVG katıştırılmış). Ek olarak, tek sıralı işlevler grup işlevlerinin içine yerleştirilebilir.
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 ;
Yukarıdaki ifadenin uygulanmasına ilişkin hangi ifade doğrudur?
- Görünüm oluşturulur ve görünüm üzerinde DLM işlemlerini gerçekleştirebilirsiniz
- Bir görünüm oluşturmak için birleşim ifadelerine izin verilmediğinden görünüm oluşturulmayacak
- Görünüm oluşturmak için GROUP BY yan tümcesine izin verilmediğinden görünüm oluşturulmayacak
- Görünüm oluşturulacak ancak görünümde hiçbir DML işlemine izin verilmeyecek
Answer: D. Bir Görünümde DML İşlemleri Gerçekleştirme Kuralları. Görünüm, grup işlevlerini veya GROUP BY yan tümcesini veya DISTINCT anahtar sözcüğünü içeriyorsa, bir görünüm aracılığıyla veri ekleyemezsiniz. Sözde sütun ROWNUM anahtar sözcüğü Görünüm tarafından seçilmeyen temel tablolarda NOT NULL sütunları tarafından tanımlanan sütunlar.
37. Which of the following statements are true regarding views?
- Bir görünümü tanımlayan bir alt sorgu GROUP BY yan tümcesini içeremez
- DISTINCT anahtar kelimesine sahip olan alt sorgu güncellenebilir bir görünüm oluşturulur
- Bir tablonun tüm NOT NULL sütunlarına sahip alt sorgu ile oluşturulan bir görünümde Veri İşleme Dili (DML) işlemi gerçekleştirilebilir.
- Sözde sütun ROWNUM anahtar kelimesine sahip alt sorgu ile oluşturulan bir görünüm güncellenemez
Answer: C, D. Bir Görünümde DML İşlemleri Gerçekleştirme Kuralları. Görünüm, grup işlevlerini veya GROUP BY yan tümcesini veya DISTINCT anahtar sözcüğünü içeriyorsa, bir görünüm aracılığıyla veri ekleyemezsiniz. Sözde sütun ROWNUM anahtar sözcüğü Görünüm tarafından seçilmeyen temel tablolarda NOT NULL sütunları tarafından tanımlanan sütunlar.
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)
Aşağıdaki SQL sorgusundaki hangi cümle hata üretir?
SELECT department_id , avg(salary )
FROM departments
WHERE upper(job) in ('SALES','CLERK')
GROUP BY job
ORDER BY department_id ;
- WHERE
- SELECT
- TARAFINDAN SİPARİŞ
- GRUPLAMA
Answer: D. GROUP BY yan tümcesi, SELECT deyiminde görünen tüm sütunları içermelidir. JOB seçili bir sütun olmadığı için hata verir. JOB'un yerine DEPARTMENT_ID kullanmış olmalıydı.
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)
Aşağıdaki SELECT sorgusundan hangisi, her bir iş kategorisi tarafından kazanılan maksimum ve minimum maaşı görüntüleyecektir?
SELECT job, MAX(salary ), MIN (salary ) FROM employees GROUP BY department_id ;
SELECT job, MAX(salary ), MIN (salary ) FROM employees GROUP BY job;
SELECT job, MAX(salary ), MIN (salary ) FROM employees ;
- SELECT deyiminde iki toplama işlevi birlikte kullanılamaz.
Answer: B. SELECT deyiminde birden fazla grup işlevi görünebilir.
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)
Aşağıdaki sorgudaki hatayı inceleyin.
SELECT department_id
FROM employees
WHERE hiredate > '01-JAN-1985'
AND COUNT(*) > 2
GROUP by department_id
HAVING SUM (salary ) > 1000;
- Başarıyla yürütür ve gerekli sonucu üretir.
- COUNT (*) SELECT yan tümcesinde de belirtilmesi gerektiğinden bir hata oluşturur.
- Başarıyla yürütülür ancak sonuç vermez çünkü COUNT (prod_id) COUNT (*) yerine kullanılması gerekir.
- Bir hata oluşturur çünkü COUNT (*) yalnızca HAVING yan tümcesinde olmalı ve WHERE yan tümcesinde olmamalıdır.
Answer: D. Grup işlevleri WHERE yan tümcesinde kullanılamaz. Seçme, HAVING ve ORDER BY yan tümcesinde görünebilir.
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)
Aşağıdaki sorgunun sonucunu tahmin edin
SELECT job, COUNT(employee_id ),sum(salary )
FROM employees
GROUP BY job
HAVING SUM (salary ) > 5000;
- Başarıyla yürütülür ve her bir iş kategorisi altında çalışanların sayısını listeler, ancak "maaş" GROUP BY maddesinde bulunmadığından HAVING maddesini yok sayar.
- HAVING yan tümcesi geçersiz olduğundan hata atar.
- "Maaş" GROUP BY yan tümcesine dahil edilmediğinden hata verir.
- Başarıyla yürütür ve 5000'den fazla maaş toplamı olan her bir kategori altındaki çalışan sayısını listeler.
Answer: D. HAVING yan tümcesi grup sonuçlarını kısıtlar. SAYI işlevi sayım için kullanılırken, SUM sayısal değerleri eklemek için kullanılır.
42. What is true of using group functions on columns that contain NULL values?
- Sütunlardaki grup işlevleri NULL değerleri göz ardı eder.
- Tarihleri döndüren sütunlardaki grup işlevleri NULL değerleri içerir.
- Sayı döndüren sütunlardaki grup işlevleri NULL değerleri içerir.
- Sütunlardaki grup işlevleri, NULL değerler içeren sütunlarda doğru şekilde kullanılamaz.
Answer: A. COUNT işlevi dışında, tüm grup işlevleri NULL değerleri göz ardı eder.
43. Which of the following statetments are true about the usage of GROUP BY columns in a subquery?
- Alt sorgular GROUP BY ve ORDER BY yan tümceleri içerebilir.
- Alt sorgular GROUP BY ve ORDER BY yan tümceleri içeremez.
- Alt sorgular ORDER BY içerebilir ancak GROUP BY yan tümcesini içeremez.
- Alt sorgular ORDER BY içeremez ancak GROUP BY yan tümcesi içerebilir.
Answer: A. Birincil sorgu gibi, bir alt sorgu da bir GROUP BY ve ORDER BY yan tümcesi içerebilir.
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;
- Başarıyla yürütülür.
- HAVING yan tümcesi geçerli olmadığından hata verir.
- GROUP BY ifadesi geçerli olmadığından hata verir.
- Bir hata verir, çünkü toplama işlevleri SELECT deyiminde yuvalanamaz.
Answer: B. HAVING yan tümcesi, toplama işlevlerinin yuvalanmasına izin vermez.
45. Predict the output of the below query
SELECT avg(salary ), department_id
FROM employees
GROUP BY department_id ;
- Hata verir, çünkü bir toplama işlevi SELECT yan tümcesinden hemen sonra görünemez.
- GROUP BY cümlesi geçersiz olduğu için hata veriyor.
- Hatasız çalışır ancak çıktı üretmez.
- Başarıyla yürütür ve her departmanda ortalama maaş verir.
Answer: D. Grup işlevleri, bir SELECT sorgusunda herhangi bir sırayla (sütunlara göre gruplamadan önce veya sonra) kullanılabilir.
46. Predict the output of the below query
SELECT lower(job),avg(salary )
FROM employees
GROUP BY upper(job);
- Başarıyla yürütülür ve küçük harfle "iş" görüntülenir.
- Başarıyla yürütülür ancak orijinal durumda "iş" i gösterir.
- Tek satır ve toplama işlevleri birlikte kullanılamadığından hata verir.
- SELECT listesindeki büyük / küçük harf dönüşümü GROUP BY deyimiyle büyük / küçük harf dönüşümü eşleşmediği için hata atar.
Answer: D. Tek satırlı bir işlev olan LOWER işlevi, EMPLOYEES verilerinin gruplandırılmasına dayandırılması için GROUP BY yan tümcesinde belirtilmelidir.
47. Which of the below query executes successfully?
SELECT employee_id , COUNT(hiredate-sysdate) FROM employees ;
SELECT AVG(salary ), MAX(salary ) FROM employees ;
SELECT AVG(salary ), MAX(salary ) FROM employees GROUP BY department_id ;
SELECT AVG(hiredate) FROM employees ;
Answer: B, C. İlk sorgu tüm ÇALIŞAN verilerini çalıştırırken, ikincisi verileri departman grupları halinde işler.
48. Identify the error in the below SELECT statement.
SELECT department_id , AVG (salary )
FROM employees
GROUP BY department_id
HAVING department_id > 10;
- Başarıyla yürütülür ve 10'un üzerindeki departmanların ortalama maaşını gösterir.
- Birleştirilmiş olmayan sütun HAVING yan tümcesinde kullanılamadığından hata verir.
- Başarıyla yürütülüyor ancak departmanlar için yanlış sonuç veriyor.
- HAVING yan tümcesinin GROUP BY yan tümcesinden önce yerleştirilmesi gerektiğinden hata atar.
Answer: A. GROUP BY ifadeleri HAVING yan tümcesinde grupları nihai veri kümesinden filtrelemek için kullanılabilir.
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);
- HAVING yan tümcesinde birden çok koşul verilemediği için hata atar.
- HAVING yan tümcesinde toplam olmayan bir sütun kullanılamadığından hata atar.
- Başarıyla yürütülür ve departmanın ortalama maaşını 10'dan yüksek ve 2000'den fazla gösterir.
- Başarıyla yürütülür ancak sonuç görüntülenmez.
Answer: C. HAVING yan tümcesi, VE veya VEYA işleci kullanılarak birleştirilmiş birden çok koşulu gruplara filtre uygulayabilir.
50. Which of the following group functions can be used with DATE values?
- AVG
- MIN
- SUM
- COUNT
Answer: B, D. AVG ve SUM grup işlevi yalnızca sayısal verilerle kullanılabilir.
51. Which of the following statements are true?
- AVG ve SUM yalnızca sayısal veri türleriyle kullanılabilir.
- STDDEV ve VARIANCE yalnızca sayısal veri türleriyle kullanılabilir.
- MAX, LONG veri türü ile kullanılabilir.
- MAX ve MIN, LOB veya LONG veri türleriyle kullanılamaz.
Answer: A, B, D. AVG, SUM, VARIANCE ve STDDEV grup fonksiyonları yalnızca sayısal verilerle kullanılabilir. Grup fonksiyonlarından hiçbiri LONG veri tipiyle kullanılamaz.
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)
Aşağıdaki sorguda hatayı tanımlayın.
SELECT department_id , avg(salary ), count(hiredate)
FROM employees
GROUP BY department_id ;
- Tek bir SELECT sorgusunda birden çok toplama işlevi kullanılamaz
- GROUP BY cümlesi geçersiz
- COUNT işlevi DATE değerleriyle kullanılamaz
- Hata yok ve başarıyla yürütülüyor
Answer: D.
53. Which of the following group function can be used with LOB data types?
- MAX
- MIN
- COUNT
- Bunlardan hiçbiri
Answer: D. LOB veri türleriyle hiçbir toplama işlevi kullanılamaz.
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)
Aşağıdaki iki sorgunun çıktısını tahmin edin
Query - 1
SELECT avg(comm)
FROM employees ;
Query - 2
SELECT avg(nvl(comm,0))
FROM employees ;
- Her iki sorgu da aynı sonucu veriyor
- Sorgu - 1 ve Sorgu - 2 farklı sonuçlar üretir çünkü Sorgu-1, COMM'nin NULL değerlerini dikkate alır ve Sorgu-2, COMM'nin NULL değerlerini sıfırla değiştirir
- Sorgu - 1 hata üretir çünkü COMM'de NULL değerleri vardır
- Sorgu - 2, NVL toplama işleviyle yuvalanamadığından hata üretir.
Answer: B. AVG işlevi, sayısal verilerin ortalamasını hesaplarken NULL değerleri yok sayar. AVG (sütun), yalnızca boş olmayan değerler için ortalamayı hesaplayacaktır. Bununla birlikte, NULL'leri sıfır ile değiştirmek için NVL kullanılırsa, tüm değerler dikkate alınacaktır.
55. Choose the correct statements about the GROUP BY clause.
- Sütun takma adı, GROUP BY yan tümcesinde kullanılabilir.
- GROUP BY sütunu, SELECT yan tümcesinde olmalıdır.
- GROUP BY yan tümcesi HAVING yan tümcesi bir SELECT sorgusu ile birlikte görünmelidir.
- GROUP BY yan tümcesi, bir SELECT sorgusunda WHERE yan tümcesinden sonra görünmelidir.
Answer: D. İşleme sırasına göre, GROUP BY yan tümcesi, bir SELECT sorgusunda WHERE yan tümcesinden sonra görünmelidir.
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)
Aşağıdaki sorgunun sonucunu tahmin edin
SELECT department_id ,avg(salary )
FROM employees
GROUP BY department_id , job
ORDER BY department_id ;
- GROUP BY sütun listesi SELECT sütun listesiyle eşleşmediğinden hata verir.
- Başarıyla yürütür ve her departmanda bir iş kategorisinin ortalama maaşını üretir.
- Başarılı bir şekilde yürütür ve her iş kategorisindeki bir departman için ortalama maaş üretir.
- GROUP BY ve ORDER BY yan tümcelerinin farklı sütun listesine sahip olması nedeniyle hata verir.
Answer: B. GROUP BY yan tümcesi grupları örtük olarak sıralasa da, GROUP BY ve ORDER BY yan tümceleri bir sorguda birlikte kullanılabilir.
57. Which clause should you use to exclude group results in a query using group functions?
- WHERE
- HAVING
- GRUPLAMA
- TARAFINDAN SİPARİŞ
Answer: B. HAVING maddesi, grupları kısıtlamak için kullanılır.
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
- Başarıyla yürütülür.
- HAVING yan tümcesi GROUP BY yan tümcesinden önce geldiğinden hata atar.
- HAVING yan tümcesi toplama işlevini kullandığından hata atar.
- HAVING yan tümcesi GROUP BY yan tümcesinden önce geldiği için yürütülür, ancak hiçbir sonuç görüntülenmez.
Answer: A. HAVING yan tümcesi GROUP BY deyiminden önce gelebilir ancak yalnızca grup sonuçları hesaplandıktan sonra işlenir.
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;
- BETWEEN operatörü HAVING yan tümcesinde kullanılamadığından bir hata döndürür.
- WHERE ve HAVING yan tümceleri aynı SELECT deyiminde kullanılamadığından bir hata döndürür.
- WHERE ve HAVING yan tümceleri aynı sütundaki koşulları uygulamak için kullanılamadığından bir hata döndürür.
- Başarıyla yürütülür.
Answer: D. WHERE yan tümcesi, grup yan tümcesi işlemeye katılan satırların sayısını sınırlar.
60. Which statements are true regarding the WHERE and HAVING clauses in a SELECT statement?
- HAVING yan tümcesi, alt sorgulardaki grup işlevleriyle birlikte kullanılabilir.
- WHERE yan tümcesi, satırları gruplara böldükten sonra hariç tutmak için kullanılabilir.
- WHERE yan tümcesi, satırları gruplara ayırmadan önce hariç tutmak için kullanılabilir.
- WHERE ve HAVING yan tümceleri, yalnızca tablodaki farklı sütunlara uygulandıklarında aynı ifadede kullanılabilir.
Answer: A, C. WHERE ve HAVING yan tümcesi bir sorguda birlikte kullanılabilir. WHERE, grup işlemeden önceki satırları hariç tutarken, HAVING grupları kısıtlar.
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 ;
- HAVING yan tümcesinde kullanılan toplama işlevlerinin SELECT listesinde olması gerektiğinden bir hata atar.
- HAVING yan tümcesi GROUP BY yan tümcesinden önce göründüğünden bir hata atar.
- Ortalama maaşı bölümün asgari maaşından fazla olan bölümleri gösterir.
- Ortalama maaşı kuruluşun asgari maaşından fazla olan bölümleri gösterir.
Answer: C. Grup işlevleri, grupları filtrelemek için HAVING yan tümcesi ile kullanılabilir.
62. Interpret the output of the below query.
SELECT SUM(AVG(LENGTH(first_name )))
FROM employees
GROUP BY department_id ;
- Her departmandaki çalışanın adının uzunluğunun ortalamalarının toplamını hesaplar.
- Her departmandaki çalışan adının ortalama uzunluğunu hesaplar.
- Tek satır işlevi grup işlevleriyle kullanılamadığından hata verir.
- SEÇ listesinde DEPARTMENT_ID grup sütunu kullanılmadığından hata verir.
Answer: A. Grup işlevleri, SELECT sorgusunda tek satır veya genel işlevlerle kullanılabilir.
63. Up to how many levels, the group functions can be nested?
- 1
- 2
- 3
- Limit yok
Answer: B. Grup işlevleri en fazla 2 düzeye kadar yuvalanabilir. Ancak, tek sıralı işlevler herhangi bir sayıda düzeye kadar yuvalanabilir.
64. What is the limit of number of groups within the groups created by GROUP BY clause?
- 1
- 2
- 3
- Limit yok
Answer: D. Oluşturulabilecek grup ve alt grupların sayısında herhangi bir sınırlama yoktur.
65. Choose the correct statements about the HAVING clause.
- HAVING yan tümcesi, SELECT deyiminde isteğe bağlı bir maddedir.
- HAVING yan tümcesi, SELECT deyimi bir GROUP BY yan tümcesi kullanıyorsa zorunlu bir maddedir.
- HAVING yan tümcesi, yalnızca bir GROUP BY yan tümcesi kullanıyorsa bir SELECT deyiminde görünebilir.
- HAVING yan tümcesi, SELECT deyimi bir GROUP BY yan tümcesi kullanıyorsa zorunlu bir maddedir.
Answer: A, C. HAVING yan tümcesi, yalnızca GROUP BY yan tümcesi varsa bir sorguda görünebilir, ancak bunun tersi doğru değildir.
66. What is the output of the below query.
SELECT count(*) FROM dual GROUP BY dummy;
- 1
- 0
- NULL
- Grup işlevleri DUAL tablosuna uygulanamadığından hata verir.
Answer: A. DUAL tablosu, değeri 'X' olan CHAR (1) türünde tek sütun DUMMY içerir.
Based on the below scenario, answer the question from 67 to 74.
Bir kuruluşun 1000 sabit maaşla çalışan 14 çalışanı vardır. Şirket, maaşı henüz bordro departmanı tarafından belirlenmemiş 5 yeni çalışanı işe almaktadır. Bununla birlikte, ay sonu işlemesi sırasında, İK bordro departmanı kuruluşun finansal verilerini uzlaştırmak için birkaç rapor oluşturur. Tablo yapısını verilen şekilde inceleyin.
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 ;
- NULL
- 14000
- 19000
- 0
Answer: B. TOPLA işlevi çalışanların maaşlarını ekler.
68. What is the output of the below query?
SELECT AVG (salary ) FROM employees ;
- 1000
- 736.84
- NULL
- 0
Answer: A. AVG (maaş) işlevi maaşların ortalamasını hesaplar ve NULL değerlerini göz ardı eder. Bu durumda, AVG (maaş) = (14 * 1000) / 14 = 1000.
69. What is the output of the below query?
SELECT AVG (nvl(salary ,0)) FROM employees ;
- 1000
- NULL
- 736.84
- 0
Answer: C. AVG (NVL (maaş, 0)) NULL'lara alternatif bir değer verir ve ortalama hesaplamaya katılmalarını sağlar. Bu durumda, (14 * 1000) / 19 = 736,84.
70. What is the output of the below query?
SELECT VARIANCE (salary ) FROM employees ;
- 1000
- 0
- NULL
- 204678.36
Answer: B. VARIANCE (maaş), NULL'leri yok sayarak maaş sütunu değerlerinin farkını hesaplar.
71. What is the output of the below query?
SELECT VARIANCE (nvl(salary ,0)) FROM employees ;
- 1000
- 0
- NULL
- 204678.36
Answer: D. VARIANCE (NL (maaş, 0)), NULL'lar dahil olmak üzere maaş sütunu değerlerinin varyansını hesaplar.
72. What is the output of the below query?
SELECT STDDEV (salary ) FROM employees ;
- 1
- 1000
- 0
- NULL
Answer: C. STDDEV (maaş), NULL'leri yok sayarak maaş sütunu değerlerinin standart sapmasını hesaplar.
73. What is the output of the below query?
SELECT STDDEV (nvl(salary ,0)) FROM employees ;
- 0
- 452.41
- 1000
- NULL
Answer: B. STDDEV (nvl (maaş, 0)), NULL'lar dahil olmak üzere maaş sütunu değerlerinin standart sapmasını hesaplar.
74. What is the output of the below query?
- 19,19
- 14,19
- 19,14
- 14,14
Answer: C. COUNT (*) NULL içerirken COUNT (maaş) NULL değerleri yok sayar.
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)
5'ten fazla çalışanı olan departmana aşağıdaki sorgulamalardan hangisi verecektir?
SELECT department_id FROM employees WHERE COUNT(*) > 5 GROUP BY department_id ;
SELECT department_id FROM employees HAVING COUNT(*) > 5;
SELECT department_id FROM employees GROUP BY employee_id HAVING COUNT(*) > 5;
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?
- Tek bir sorgu ile birden çok GROUP BY deyimi gerçekleştirmeyi sağlar.
- Dahil edilen tüm olası sütun kombinasyonları için toplamalar gerçekleştirir.
- Sağlanan sütun listesine göre artan düzeylerde kümülatif alt toplamlar gerçekleştirir.
- Yukarıdakilerin hiçbiri
Answer: B. CUBE, ROLLUP, OLAP işleme için kullanılan GROUP BY uzantılarıdır. CUBE, yeni bir sütun permütasyonu oluştuğunda sonuçları toplar.
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
- 3
- 4
- 5
Answer: B. WHERE cümlesi, gruplar oluşturulmadan önce satırları kısıtlamak için kullanılır.
78. Which line of the SELECT statement is used to restrict groups displayed in the query results?
- 1
- 3
- 4
- 5
Answer: D. HAVING, grup işlemi bittikten sonra grup sonuçlarını kısıtlamak için kullanılır.
79. Which line of the SELECT statement is used to group data stored in the database?
- 1
- 3
- 4
- 5
Answer: C. GROUP BY yan tümcesi, tablodaki verileri gruplandırmak için sütunlara göre gruplamayı kullanır.
80. Which clause must be included for the query to execute successfully?
- 1
- 3
- 4
- 5
Answer: C. SELECT yan tümcesi MÜŞTERİ # sütununu içerdiğinden, MÜŞTERİ # sütununda GROUP BY yan tümcesine sahip olmak zorunludur.
81. What is the purpose of using COUNT(*) in the SELECT query?
- Belirtilen tablolardaki kayıtların sayısı
- Her müşteri tarafından verilen siparişlerin sayısı
- Belirtilen tablolardaki NULL değerlerin sayısı
- Sipariş veren müşteri sayısı
Answer: B. Bir grup altında işlenen satırların sayısını sayar. Bu durumda müşteri tarafından grup oluşturulur ve COUNT (*) her müşterinin verdiği siparişleri sayar.
82. Which of the following functions can be used to determine the earliest ship date for all orders recently processed by JustLee Books?
- SAYI işlevi
- MAX işlevi
- MIN işlevi
- STDDEV işlevi
Answer: C. MIN işlevi, sütunun en küçük değerini almak için kullanılır. Tarih sütunlarıyla birlikte kullanıldığında, sütundan minimum tarihi alır.
83. Which of the following is not a valid SELECT statement?
SELECT STDDEV(retail) FROM books;
SELECT AVG(SUM(retail)) FROM orders NATURAL JOIN orderitems NATURAL JOIN books GROUP BY customer#;
SELECT order#, TO_CHAR(SUM(retail),'999.99') FROM orderitems JOIN books USING (isbn) GROUP BY order#;
SELECT title, VARIANCE(retail-cost) FROM books GROUP BY pubid;
Answer: D. GROUP BY yan tümcesi, SELECT yan tümcesinde bulunan bir sütun veya sütun kümesini belirtmelidir. Burada PUBID, SELECT yan tümcesinde yer almaz, bu nedenle sorgu geçerli değildir.
84. Which of the below statements are true about the nesting of group functions?
- İlk olarak en içteki işlev çözülür.
- Oracle, 3 seviyeye kadar grup işlevinin yuvalanmasına izin verir.
- Tek sıralı işlevler, grup işlevleriyle iç içe olabilir.
- Oracle, grup işlevinin 2 seviyeye kadar yuvalanmasına izin verir.
Answer: A, C, D. İç içe geçmiş işlevler içeren bir ifadede, ilk olarak en içteki işlev çalıştırılır ve bunun sonucu, dış yönde hareket eden bir sonraki işleve verilir. Tek sıralı işlevler, maksimum 2 düzeye kadar yuvalanabilen grup işlevleriyle iyi bir şekilde kullanılabilir.
85. What are the statistical group functions in Oracle?
- AVG
- STDDEV
- VARIANCE
- STATS
Answer: B, C. VARIANCE ve STATS, Oracle SQL'de bulunan istatistiksel grup işlevleridir.
86. If the SELECT list contains a column and a group functions, which of the following clause must be mandatorily included?
- TARAFINDAN SİPARİŞ
- HAVING
- GRUPLAMA
- Bunlardan hiçbiri
Answer: C. GROUP BY yan tümcesi mutlaka SELECT yan tümcesinde bulunan sütun veya sütun kümesini içermelidir.
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)
Bu SQL ifadesinin neden çalışmayacağına dair en iyi açıklama nedir?
SELECT department_id "Department", AVG (salary)"Average"
FROM employees
GROUP BY Department;
- Tüm sayılar eşit olarak bölünmeyeceği için maaşların ortalaması alınamaz.
- GROUP BY yan tümcesinde sütun diğer adı kullanamazsınız.
- GROUP BY yan tümcesinde GROUP için bir şey olmalıdır.
- Departman kimliği departmanlar tablosunda listelenmez.
Answer: B. Ne GROUP BY ne de HAVING yan tümcesi sütun diğer adlarıyla çalışmaz.
88. Which of the following data types are compatible with AVG, SUM, VARIANCE, and STDDEV functions?
- Yalnızca sayısal veri türleri
- Yalnızca tamsayılar
- Herhangi bir veri türü
- Sayısal hariç tümü
Answer: A. AVG, SUM, VARIANCE ve STDDEV işlevleri zorunlu olarak yalnızca sayısal veri türleriyle çalışır.
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?
SELECT department_id , COUNT(DISTINCT job) FROM employees GROUP BY job;
SELECT department_id , COUNT(job) FROM employees GROUP BY employee_id ;
SELECT department_id , COUNT(job) FROM employees GROUP BY department_id ;
SELECT department_id , COUNT(DISTINCT job) FROM employees GROUP BY department_id ;
Answer: D. Yinelenenleri filtrelemek için DISTINCT değiştiricisini kullanın.
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;
Bu ifade neden bir hataya neden olacak?
- HAVING yan tümcesi eksik.
- WHERE yan tümcesi bir sözdizimi hatası içeriyor.
- MAAŞ sütunu GROUP BY yan tümcesine dahil DEĞİLDİR.
- HIRE_DATE sütunu GROUP BY yan tümcesine dahil DEĞİLDİR.
Answer: D. SELECT ve ORDER BY yan tümcesinde görünen tüm sütunlar GROUP BY yan tümcesine dahil edilmelidir.
91. Which of the following statements is true about the GROUP BY clause?
- GROUP BY yan tümcesini kullanarak satırları gruplara ayırmadan önce dışlamak için, bir WHERE yan tümcesi kullanmalısınız.
- HAVING yan tümcesini GROUP BY yan tümcesi ile kullanmalısınız.
- Sütun takma adı, GROUP BY yan tümcesinde kullanılabilir.
- Varsayılan olarak, GROUP BY yan tümcesi kullanıldığında satırlar sıralanmaz.
Answer: A. Bir WHERE yan tümcesi kullanarak, satırları gruplara ayırmadan önce hariç tutabilirsiniz.
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)
Aşağıdaki sorgunun sonucunu yorumlayın.
SELECT department_id , MIN (hiredate)
FROM employees
GROUP by department_id ;
- Kuruluştaki en erken işe alma tarihi.
- Kuruluştaki en son işe alma tarihi.
- Bir departmandaki en erken işe alma tarihi.
- Bir departmandaki en son işe alma tarihi.
Answer: C. Sorgu, her departmandaki en erken işe alınan çalışanı döndürür.
93. Which statement about group functions is true?
- COUNT (*) dışındaki grup işlevleri, boş değerleri göz ardı eder.
- SEÇ listesinde bir grup işlevi içeren bir sorgu, bir GROUP BY yan tümcesi içermelidir.
- Grup işlevleri bir WHERE yan tümcesinde kullanılabilir.
- Grup işlevleri yalnızca bir SEÇİM listesinde kullanılabilir.
Answer: A. COUNT (*) dışındaki tüm grup işlevleri, NULL değerleri göz ardı eder. Bunun nedeni, doğrudan belirli bir sütunda bulunan değerleri işlemeleridir.
94. Which of the following clauses represent valid uses of group functions?
- GROUP BY MAX (maaş)
- ORDER İLE SİPARİŞ (maaş)
- MAKS (maaş)> 10000
- AVG'yi SEÇİN (NVL (maaş, 0))
Answer: B, C, D. Grup işlevleri yalnızca SELECT, HAVING ve ORDER BY yan tümcelerinde görünebilir.
95. Which of the following statements are true about the GROUP BY clause?
- GROUP BY yan tümcesinde listelenen son sütun, en ana gruplamadır.
- GROUP BY yan tümcesinde listelenen ilk sütun, en ana gruplamadır.
- GROUP BY yan tümcesi, ORDER BY yan tümcesi olmadan kullanılamaz.
- GROUP BY yan tümcesi çıktının sıralanmasını sağlamaz.
Answer: B. Verilerin gruplandırılması, GROUP BY yan tümcesinde görünen sütunların sırasına dayanır.
96. What is difference between WHERE clause and HAVING clause?
- WHERE yan tümcesi, HAVING yan tümcesi grupları kısıtlarken gruplamadan önce satırları kısıtlar.
- WHERE yan tümcesi bir grup işlevi içeremez, ancak HAVING yan tümcesi olabilir.
- WHERE yan tümcesi AND veya OR operatörlerini kullanarak birden çok koşulu birleştirebilir, ancak HAVING yan tümcesi olamaz.
- WHERE yan tümcesi, SELECT sorgusunda GROUP BY yan tümcesi olmadan görünebilir, ancak HAVING yan tümcesi olamaz.
Answer: A, B, D. WHERE yan tümcesi gruplamadan önceki satırları kısıtlar, ancak HAVING grupları kısıtlar.
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)
Aşağıdaki sorgunun sonucunu tahmin edin.
SELECT department_id ,job,count(*)
FROM employees
GROUP BY department_id ,job
ORDER BY department_id ,count(*);
- Başarıyla yürütülür.
- ORDER BY yan tümcesi geçersiz olduğundan hata atar.
- GROUP BY yan tümcesi geçersiz olduğundan hata atar.
- GROUP BY ve ORDER BY yan tümcesi birlikte kullanılamadığından hata verir.
Answer: A. ORDER BY yan tümcesi, sıralama için grup işlevlerini kullanabilir.