Senin, 14 November 2011

Lesson 6 : Menggunakan Subquerie untuk Menyelesaikan Queri


Setelah melengkapi pelajaran ini, kamu harus mampu untuk melakukan hal-hal berikut:

  • Definisikan subqueries 
  • Deskripsikan jenis dari masalah yang subqueries dapat selesaikan 
  • Daftarkan jenis dari subqueries 
  • Tulis baris tunggal dan baris perkalian subqueries

    Menggunakan Sebuah Subqueri
    SELECT last_name
    FROM   employees
    WHERE  salary >
                   (SELECT salary
                    FROM   employees
                    WHERE  last_name = 'Abel');

    Melaksanakan Subqueri Baris Tunggal
    SELECT last_name, job_id, salary
    FROM   employees
    WHERE  job_id
                    (SELECT job_id
                     FROM   employees
                     WHERE  employee_id = 141)
    AND    salary >
                    (SELECT salary
                     FROM   employees
                     WHERE  employee_id = 143);

    Menggunakan Fungsi Group dalam Sebuah Subqueri
    SELECT last_name, job_id, salary
    FROM   employees
    WHERE  salary =
                    (SELECT MIN(salary)
                     FROM   employees);

    Kalimat HAVING dengan Subqueri
    SELECT   department_id, MIN(salary)
    FROM     employees
    GROUP BY department_id
    HAVING   MIN(salary) >
                           (SELECT MIN(salary)
                            FROM   employees
                            WHERE  department_id = 50);


    Apa yang terjadi dengan pernyataan ini?
    SELECT employee_id, last_name
    FROM   employees
    WHERE  salary =
                    (SELECT   MIN(salary)
                     FROM     employees
                     GROUP BY department_id);


    Akankah pernyataan ini menhasilkan baris?
    SELECT last_name, job_id
    FROM   employees
    WHERE  job_id =
                    (SELECT job_id
                     FROM   employees
                     WHERE  last_name = 'Haas');


    Menggunakan Operator Apapun dalam Subqueri Multiple-Rows
    SELECT employee_id, last_name, job_id, salary
    FROM   employees
    WHERE  salary < ANY
                        (SELECT salary
                         FROM   employees
                         WHERE  job_id = 'IT_PROG')
    AND    job_id <> 'IT_PROG';



    Menggunakan Semua Operator dalam Subqueri Multiple-Rows
    SELECT employee_id, last_name, job_id, salary
    FROM   employees
    WHERE  salary < ALL
                        (SELECT salary
                         FROM   employees
                         WHERE  job_id = 'IT_PROG')
    AND    job_id <> 'IT_PROG';


    Nilai NULL pada Subqueri
    SELECT emp.last_name
    FROM   employees emp
    WHERE  emp.employee_id NOT IN
                               (SELECT mgr.manager_id
                                FROM   employees mgr);









Tidak ada komentar: