Gambar ilustrasi database. Sumber: http://www.thebluediamondgallery.com/tablet/d/database.html

Menampilkan Data yang Tidak Terdapat dalam Tabel Lain

Bila kita memiliki dua buah tabel yang memiliki relasi, misal:

Tabel nama

---+------------------
id | nama
---+------------------
 1 | Billy the Kid
 2 | John Smith
 3 | Jane Doe
 4 | Willy Wonka
 5 | Bruce Dickinson
---+------------------

Tabel email

---+---------+--------------------------
id | nama_id | email
---+---------+--------------------------
1  |    1    | billy@gmail.com
2  |    3    | jane@doe.co
3  |    4    | willy@chocofactory.com
---+---------+--------------------------

Bagaimana caranya kita ingin menampilkan ID apa saja dari tabel nama yang tidak terdapat dalam tabel email ?

Hal ini dapat dilakukan dengan menggunakan ekspresi NOT IN seperti di bawah ini:

SELECT id
FROM nama
WHERE id NOT IN (
    SELECT nama_id FROM email
)

Maka hasil yang didapat adalah sebagai berikut:

---
id 
---
2 
5 
---

Demikian catatan kecil ini, semoga bermanfaat.

Tinggalkan komentar