latihan sql dasar

10
Latihan SQL

Upload: agung-budi-santoso

Post on 31-Dec-2015

897 views

Category:

Documents


67 download

DESCRIPTION

Latihan dasar pemahaman SQL. Presentasi tentang latihan dasar untuk memahami SQL.(Bahasa Indonesia)

TRANSCRIPT

Page 1: Latihan SQL Dasar

Latihan SQL

Page 2: Latihan SQL Dasar

Tabel

departement_id departement_name manager_id

10 Administration 101

20 IT 103

Tabel employees

Tabel departements

employee_id name salary manager_id departement_id

100 Steven 8000 101 10

101 Lexa 10000 101 10

102 Bruce 9000 103 20

103 Diana 11000 103 20

104 Bruce 8500 103 20

Page 3: Latihan SQL Dasar

Soal Latihan 1. Tampilkan nama employee yang memiliki salary lebih dari

9000

2. Tampilkan id dan nama dari employee yang memiliki nama diakhiri dengan huruf n.

3. Tampilkan nama employee yang menjadi manager di departemen IT

4. Hitung jumlah employee yang memiliki nama Bruce

5. Tampilkan id departemen dan nama departemen dari employee yang bernama Lexa

6. Tampilkan nama-nama employee yang bekerja di departemen pada masing-masing departemen

8. Tampilkan id departemen yang total salary semua employee yang bekerja pada departement tersebut lebih dari 20000

7. Tampilkan employee id, last name, departemen id, dan rata-rata gaji semua employee pada masing-masing departemen(pakai operator JOIN)

Page 4: Latihan SQL Dasar

Soal Latihan

9.Tampilkan id departemen, nama departemen, dan jumlah employee yang bekerja pada masing-masing departemen tersebut

Tampilkan departemen id, departemen name, jumlah employee yang bekerja di masing-masing departemen yang:

10. Jumlah pekerjanya kurang dari 3

11. Memiliki jumlah pekerja paling tinggi

12. Memiliki jumlah pekerja paling kecil

13.Tampilkan id departemen dan salary minimum dari departemen yang memiliki rata-rata salary paling besar

Page 5: Latihan SQL Dasar

Pembahasan

1. SELECT e.nama

FROM employees e

WHERE e.salary > 9000

2. SELECT e.employee_id,e.name

FROM employees e

WHERE name LIKE ’%n’

3. SELECT e.name

FROM employees e, departements d

WHERE e.depertement_id=d.departement.id

AND e.employee_id=e.manager_id

AND d.departement_name=‘IT’

Page 6: Latihan SQL Dasar

Pembahasan

4. SELECT count(*)

FROM employees e

WHERE name=‘Bruce’

5. SELECT

d.departement_id,d.departement_name

FROM departements d, employees e

WHERE d.departement_id=e.departement_id

AND e.name=‘Lexa’

6. SELECT e.name,d.departement_name

FROM employee e, departements s

GROUP BY e.name,d.departement_name

Page 7: Latihan SQL Dasar

Pembahasan

7. SELECT d.departement_id

FROM departement d, employees e

WHERE d.departement_id=e.departement_id

GROUP BY d.departement_id

HAVING SUM(salary)>20000

8. SELECT

e.employee_id,e.name,e.departement_id,

AVG(salary)

FROM employees e JOIN employees s

WHERE e.departement_id=s.departement_id

GROUP BY

e.employee_id,e.name,e.departement_id

Page 8: Latihan SQL Dasar

Pembahasan

9. SELECT d.departement_id,d.departement_name,

COUNT(*)

FROM departements d, employees e

WHERE d.departement_id=e.departement_id

GROUP BY d.departement_id,d.departement_name

10. SELECT d.departement_id,d.departement_name,

COUNT(*)

FROM departements d JOIN employees e

WHERE d.departement_id=e.departement_id

GROUP BY d.departement_id,d.departement_name

HAVING COUNT(*)< 3

Page 9: Latihan SQL Dasar

Pembahasan

11. SELECT d.departement_id,d.departement_name, COUNT(*)

FROM departements d JOIN employees e

WHERE d.departement_id=e.departement_id

GROUP BY d.departement_id,d.departement_name

HAVING COUNT(*)=(SELECT MAX(COUNT(*))

FROM employees

GROUP BY departement_id)

12. SELECT d.departement_id,d.departement_name, COUNT(*)

FROM departements d JOIN employees e

WHERE d.departement_id=e.departement_id

GROUP BY d.departement_id,d.departement_name

HAVING COUNT(*)=(SELECT MIN(COUNT(*))

FROM employees

GROUP BY departement_id)

Page 10: Latihan SQL Dasar

Pembahasan

13. SELECT departement_id, MIN(salary)

FROM employees

GROUP BY departement_id

HAVING AVG(salary) = (SELECT MAX(AVG(salary))

FROM employees

GROUP BY departement_id)