Blog Emka

Portal tutorial linux, pemrograman sistem informasi, computer security & informasi santri Indonesia

MySQL

Belajar SQL: Select Data Di Tabel A Yang tidak Ada di Tabel B

Tips singkat berikut berisi query yang mungkin berguna bagi anda yang mencari query SQL yang digunakan untuk mencari data di tabel A yang tidak ada di tabel B. Contoh kasus, jika A adalah tabel master dan tabel B adalah tabel data isian, maka anda diminta untuk mencari data siapa yang belum mengisi. Sehingga logika yang dibangun adalah, select data ditabel A yang tidak ada di tabel B.

Sintaks yang dipakai adalah dengan sintaks NOT EXISTS. Contoh:

SELECT * FROM tabel_a WHERE NOT EXISTS (SELECT * FROM tabel_b)


Jika tabel_a dan tabel_b mempunyai primary key yang sama, pencarian akan lebih cepat dengan query:

SELECT * FROM tabel_a WHERE NOT EXISTS (SELECT * FROM tabel_b WHERE tabel_a.key = tabel_b.key)

Selamat mencoba!

19 Comments

  1. Mungalim Col

    Terimakasih Om atas postinganya sangat mbantu tugas Kampus saya

  2. RPL4rt

    kenapa ya punya saya malah null? -_-

    kalo pake ini

    SELECT dg.*
    FROM daftar_guru as dg, daftar_kelas as dk where not dg.id_guru = dk.id_guru GROUP BY dg.id_guru

    malah muncukl semua?

    • Panah Biru

      ya seharusnya null, karena yang dg.id_guru = dk.id_guru tidak ada. tidak semua contoh query di posting ini applicable, bergantung skenarionya.

      saya rasa kalau ngikuti contoh query diatas bisa bener, mungkin salah kalo tabel A dan B nya yang terbalik

  3. Guest

    ini pictnya gan, mohon dibantu secepatnya.. 😀

    thx

  4. eko

    permisi gan apakah saya bisa bertanya…

    • Panah Biru

      silakan Kang…

      • eko

        saya mau ambil data master dari mysql oracle tapi belum tau caranya…
        di download dari oraclenya pengaruh semunya jadi lemot dan membutuhkan waktu 7 hari…
        ada cara paling mudah ngk gan….

        kata temen saya chi pakai toad tapi ngk bisa pakeknya..

        tolong share y gan…

        • admin

          Coba dulu pake Navicat (navicat.com) Dump datanya nggak ngelock table.

        • admin

          Coba pake Navicat (navicat.com). Dia ga ngelock table waktu ngedump. Kalo pake Mac bisa coba Sequel Pro atau DBVisualizer

  5. Uli

    Gan, kok hasilnya null?
    Ada 2 tabel PH1 dan PH2, sy ingin mencari isi tabel PH2 yang tidak ada di PH1, ilustrasinya seperti ini :
    Isi tabel PH1:
    — start —
    (no, nama, kota)
    1 Agung Jakarta
    2 Anang Bogor
    3 Ari Surabaya
    — end —
    Isi tabel PH2 :
    — start —
    (no, nama, kota)
    1 Agung Jakarta
    2 Anang Bogor
    3 Ari Surabaya
    4 Bandi Bandung
    5 Bonar Medan
    — end —
    Harusnya yang muncul :
    — start —
    (no, nama, kota)
    4 Bandi Bandung
    5 Bonar Medan
    — end —
    Masalah belum terpecahkan.

    • Luthfi Emka

      Coba ini gan: select * from ph2
      where nama not in (select nama from ph1)

  6. agus

    like this . thanks

  7. Boncel

    siank gan
    kalau mau cari dalam satu table.. contoh kasus:jika z suda ada di table_a maka yang muncul” data ada”, jika z tidak di table_a maka yang muncul data “tidak ada”
    mohon masukanya gan… 🙁
    #pemula

  8. Fani achmadi

    Gan saya mau tanya..saya di kantor ada table A dan table B.. kalau mngecek data table A tidak ada di table B dan sebalikx data table B tidak ada di table A gimna gan..tpi dalam 1 sintax…

    • Ifhtul Emka

      kayaknya sih gak mungkin kalau dalam satu query ya, kecuali tabel A dan B itu di merge. dari pertanyaanmu, tujuannya nyari data irisan di gabungan A dan B?

  9. jasmine

    Sangat membantu thnx

Leave a Reply

Theme by Anders Norén

%d bloggers like this: