Belajar SQL: Jangan Bingung Sama JOIN! Anggap Aja Lagi "Jodohin" Data.

Halo Calon Programmer Handal! 👨‍💻

Siapa di sini yang pas buka kodingan PHP terus liat query: SELECT * FROM tabel_a JOIN tabel_b ON ... Langsung pusing dan pengen tutup laptop? 🤯

Tenang, kamu nggak sendirian. Konsep JOIN memang sering bikin pemula keder. Padahal, logika aslinya itu simpel banget, lho!

Bayangkan database kamu itu kayak sebuah Pesta Pernikahan. Dan tugas kamu sebagai programmer adalah menjadi Mak Comblang (Matchmaker) yang tugasnya mempertemukan tamu dari dua rombongan berbeda.

Yuk kita bedah 2 jenis JOIN yang paling sering dipakai di aplikasi Kasir/POS!

Studi Kasus: Menu & Kategori

Kita punya 2 Tabel (Rombongan):

  1. Tabel MENU (Rombongan A - Cowok): Isinya: Nasi Goreng, Es Teh, dan "Menu Baru" (belum ada kategorinya).

  2. Tabel KATEGORI (Rombongan B - Cewek): Isinya: Makanan Berat, Minuman, Snack.

1. INNER JOIN (Si Pasangan Sah) 💍

INNER JOIN itu prinsipnya: "Hanya yang punya pasangan yang boleh masuk."

Kalau kamu pakai query ini, database akan mencari data di Tabel Menu yang PUNYA pasangan di Tabel Kategori.

  • Nasi Goreng ❤️ Makanan Berat (Jodoh! Tampilkan).

  • Es Teh ❤️ Minuman (Jodoh! Tampilkan).

  • Menu Baru 💔 (Jomblo/Nggak ada kategori)? TENDANG! Nggak usah ditampilkan.

Kapan dipake di POS? Saat kamu mau bikin Laporan Penjualan yang datanya harus lengkap. Kamu nggak mau kan ada data transaksi yang "hantu" (nggak jelas siapa pelanggannya)?

Query SQL:

SELECT menu.nama, kategori.nama
FROM menu
INNER JOIN kategori ON menu.id_kategori = kategori.id;

2. LEFT JOIN (Semua Diundang, Jomblo Pun Boleh) 🥳

LEFT JOIN itu prinsipnya lebih santai: "Rombongan Kiri (Tabel Utama) wajib masuk semua. Kalau punya pasangan syukur, kalau jomblo ya tampil sendirian aja."

Kalau pakai query ini:

  • Nasi Goreng tampil (bawa pasangan "Makanan Berat").

  • Es Teh tampil (bawa pasangan "Minuman").

  • Menu Baru tampil juga! (tapi kolom kategorinya kosong/NULL).

Kapan dipake di POS? Saat kamu mau nampilin List Semua Menu di halaman admin. Meskipun si "Menu Baru" belum diset kategorinya, dia tetap harus muncul di layar biar bisa diedit admin. Kalau pakai Inner Join, menu itu bakal hilang misterius dari daftar!

Query SQL:

SELECT menu.nama, kategori.nama
FROM menu
LEFT JOIN kategori ON menu.id_kategori = kategori.id;

Kesimpulan

  • INNER JOIN: Pertemuan eksklusif. Harus ada jodoh di kedua belah pihak.

  • LEFT JOIN: Pesta rakyat. Tabel utama tampil semua, tabel kedua melengkapi (kalau ada).

Gampang kan?

Di dalam Source Code Aplikasi POS Cafe & Resto yang saya jual, teknik LEFT JOIN ini sering banget dipakai. Terutama saat menampilkan laporan penjualan harian di mana kita harus menggabungkan Tabel Transaksi, Tabel Detail, dan Tabel Menu sekaligus.

Kalau kamu beli source code-nya, kamu bisa intip langsung gimana query-query "perjodohan" ini bekerja secara real di sistem yang kompleks. Belajar SQL jadi lebih gampang kalau ada contoh nyatanya!

Mau belajar sambil praktek? Cek link dibawah ini yaa! 🚀

POS KASIR CAFE

 

 

Komentar