SQL Left Join


A. Penjelasan

SQL Left Join adalah Untuk mengembalikan semua record dari tabel kiri (table1), dan catatan yang cocok dari tabel kanan (table2). Hasilnya adalah NULL dari sisi kanan, jika tidak ada yang cocok.

Screenshot


B. Bentuk Syntax Umum

    SELECT nama_kolom(s)
    FROM tabel1 LEFT JOIN tabel2 
    ON tabel1.nama_kolom = tabel2.nama_kolom;

C. Implementasi

Contoh Case

  • Designer Database :

    Database = ukk_11102016_sbd_153140914111007_hildakhairunnisa
    

    Screenshot

  • Soal dan Jawaban Case :

Left Join dalam 2 tabel

1. Menampilkan data dengan kolom (nama dokter, jam mulai jaga dan jam selesai jaga)

NOTE : untuk mengetahui tabel ke 2 yang tidak terisi dan bernilai NULL

    SELECT tb_dokter.NAMA_DOKTER, tb_jaga.JAM_MULAI, tb_jaga.JAM_SELESAI
    FROM tb_dokter LEFT JOIN tb_jaga
    ON tb_dokter.KD_DOKTER=tb_jaga.KD_DOKTER;
  • Output
    Screenshot

2. Menampilkan data dengan kolom (nama dokter, jam mulai jaga dan jam selesai jaga)

NOTE : untuk mengetahui tabel ke 2 yang tidak terisi dan bernilai NULL, data diurutkan berdasarkan nama dokter (urut dari A-Z)

    SELECT tb_dokter.NAMA_DOKTER, tb_jaga.JAM_MULAI, tb_jaga.JAM_SELESAI
    FROM tb_dokter LEFT JOIN tb_jaga
    ON tb_dokter.KD_DOKTER=tb_jaga.KD_DOKTER
    ORDER BY tb_dokter.NAMA_DOKTER;
  • Output
    Screenshot

3. Menampilkan data dengan kolom (nama dokter, jam mulai jaga dan jam selesai jaga)

NOTE : untuk mengetahui tabel ke 2 yang tidak terisi dan bernilai NULL, data diurutkan berdasarkan nama dokter (urut dari Z-A)

    SELECT tb_dokter.NAMA_DOKTER, tb_jaga.JAM_MULAI, tb_jaga.JAM_SELESAI
    FROM tb_dokter LEFT JOIN tb_jaga
    ON tb_dokter.KD_DOKTER=tb_jaga.KD_DOKTER
    ORDER BY tb_dokter.NAMA_DOKTER DESC;
  • Output
    Screenshot

Left Join dalam 3 tabel

Menampilkan data dengan kolom (nama dokter, nama spesialis, jam mulai jaga, jam selesai jaga)

NOTE : untuk mengetahui tabel ke 2 atau ke 3 yang tidak terisi dan bernilai NULL

    SELECT tb_dokter.NAMA_DOKTER, tb_spesialis.SPESIALIS, tb_jaga.JAM_MULAI, tb_jaga.JAM_SELESAI
    FROM ((tb_dokter LEFT JOIN tb_spesialis ON tb_dokter.KD_SPESIALIS = tb_spesialis.KD_SPESIALIS)
    LEFT JOIN tb_jaga ON tb_dokter.KD_DOKTER = tb_jaga.KD_DOKTER);
  • Output
    Screenshot

Left Join IS NULL

Menampilkan data dengan kolom (nama dokter, jam mulai juga, jam selesai jaga)

NOTE : untuk mengetahui tabel ke 2 yang hanya bernilai NULL

    SELECT tb_dokter.NAMA_DOKTER, tb_jaga.JAM_MULAI, tb_jaga.JAM_SELESAI
    FROM tb_dokter LEFT JOIN tb_jaga
    ON tb_dokter.KD_DOKTER=tb_jaga.KD_DOKTER
    WHERE tb_jaga.KD_DOKTER IS NULL;
  • Output
    Screenshot