Breaking News
Loading...
Wednesday, May 11, 2011

Latihan Soal Oracle beserta Pembahasannya

5/11/2011
 
Latihan Soal Oracle beserta Pembahasannya, ya itulah judul postinganku malam ini. Untuk sobat yang lagi mencari-cari referensi tentang Oracle mungkin postingan ini cukup membantu, disini nanti soalnya dari yang paling dasar hingga medium, hehe. Ok langsung saja dinikmati soal plus pembahasannya dibawah ini :)

Tapi pastikan tabel data yang digunakan seperti diatas ya !! hehe

SOAL
  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 Lex
  6. Tampilkan nama-nama employee yang bekerja di departemen pada masing-masing departemen
  7. Tampilkan id departemen yang total salary semua employee yang bekerja pada departement tersebut lebih dari 20000 
  8. Tampilkan employee id, last name, departemen id, dan rata-rata gaji semua employee pada masing-masing departemen (pakai operator JOIN)
  9. Tampilkan id departemen, nama departemen, dan jumlah employee yang bekerja pada masing-masing departemen tersebut
  10. Tampilkan departemen id, departemen name, jumlah employee yang bekerja di masing-masing departemen yang: Jumlah pekerjanya kurang dari 3, Memiliki jumlah pekerja paling tinggi, Memiliki jumlah pekerja paling kecil
  11. Tampilkan id departemen dan salary minimum dari departemen yang memiliki rata-rata salary paling besar
PEMBAHASAN
1. SELECT last_name
    FROM employees
    WHERE salary > 9000;
2. SELECT employee_id, last_name
    FROM employees
    WHERE last_name LIKE ’%n’;
3. SELECT e.last_name, e.salary
    FROM employees e, departments d
    WHERE e.department_id = d.department_id
    AND d.department_name='IT';
4. SELECT count(*)
    FROM employees
    WHERE first_name='Bruce';
5. SELECT d.department_id,d.department_name,salary
    FROM departments d, employees e
    WHERE d.department_id=e.department_id
    AND first_name='Lex';
6. SELECT e.last_name, d.department_name
    FROM employees e, departments d
    GROUP BY e.last_name,d.department_name;
7. SELECT d.department_id
    FROM departments d, employees e
    WHERE d.department_id=e.department_id
    GROUP BY d.department_id
    HAVING SUM(salary)>20000;
8. SELECT e.employee_id,e.last_name,e.department_id, AVG(salary)
    FROM employees e JOIN departments d
    ON e.department_id=d.department_id
    GROUP BY e.employee_id, e.last_name, e.department_id;
9. SELECT d.department_id, d.department_name,COUNT(*)
    FROM departments d, employees e
    WHERE d.department_id=e.department_id
    GROUP BY d.department_id,d.department_name;
10.a. SELECT d.department_id,d.department_name, COUNT(*)
         FROM departments d JOIN employees e
         ON d.department_id=e.department_id
         GROUP BY d.department_id,d.department_name
         HAVING COUNT(*)< 3;
10.b  SELECT d.department_id,d.department_name, COUNT(*)
         FROM departments d JOIN employees e
         ON d.department_id=e.department_id
         GROUP BY d.department_id,d.department_name
         HAVING COUNT(*)=(SELECT MAX(COUNT(*))
                   FROM employees
                   GROUP BY department_id);

10.c  SELECT d.department_id,d.department_name, COUNT(*)
         FROM departments d JOIN employees e
         ON d.department_id=e.department_id
         GROUP BY d.department_id,d.department_name
         HAVING COUNT(*)=(SELECT MIN(COUNT(*))
                   FROM employees
                   GROUP BY department_id);
11.  SELECT department_id, MIN(salary)
       FROM employees
       GROUP BY department_id
       HAVING AVG(salary) = (SELECT MAX(AVG(salary))
       FROM employees
       GROUP BY department_id);

Bagaimana ?? sudah lebih paham dengan Oracle, saya harap sobat semua jadi lebih paham dengan Oracle, cukup sekian posting malam ini. Insyaallah nanti ada kelanjutannya tapi sebelumnya janganlupa buat kasih komentar ya, hehe. Akhir kata Keep Smile & Sharing :D
Rating: 5, Reviewer : Yufex E,

4 Comments:

  1. Mantab nih bro udah belajar oracle..bagi tips2 lain ya kalo ada yg mengenai oracle DB ;))

    ReplyDelete
  2. @Sewa Komputer
    mksih gan, ok pasti gan :)

    ReplyDelete
  3. ada yang gak bisa gan,, ada yang tdk bisa keluar

    ReplyDelete

Terimakasih telah berkunjung di LpuARmy Blog, budayakan berkomentar dengan nama (jangan pakai Anonymous) dan baik yah :)

sankyu :)
- Admin LpuARmy Blog

 
Toggle Footer