Skip to content
Arif Setiawan
Arif Setiawan

travel, culinary and technology

  • Home
  • About
  • Travel
    • Indonesia
      • Bali
      • Banten
      • Jakarta
      • Jawa Barat
      • Jawa Tengah
      • Jawa Timur
      • Kalimantan Selatan
      • Lampung
      • Sumatera Barat
      • Sumatera Utara
      • Yogyakarta
    • Laos
    • Malaysia
    • Singapore
    • Vietnam
  • Culinary
  • Technology
    • Startup
    • Software Development
    • Social Media
  • #kulinersince
  • Nol Kilometer
Arif Setiawan

travel, culinary and technology

Konsep SQL Join

Arif Setiawan, April 1, 2014March 14, 2018

Rasa-rasanya sudah lama sekali saya tidak bikin postingan yang sedikit teknis. Kalau ga curhat ya kuliner ya jalanan, heheu. Nah, pagi ini saya melihat postingan Mas Pay di Google+ yang share masalah SQL Join ini.

Kalau masalah database, terutama bagian SQL nya, masalah Join ini kadang bisa jadi salah satu yang bisa bikin bingung. Semacem belajar rekursifnya programming. Iya ga si? Emang beberapa orang bisa lancar dan cepet paham, tapi ada juga beberapa yang tidak, harus banyak latihan dulu. Kayak saya, heheu.

Selain itu, SQL join juga sering banget digunakan untuk bahan interview buat nyari orang yang akan dipekerjakan sebagai DBA (Database Administrator). Kadang disinggung soal perbedaan dari berbagai jenis join yang ada atau simplenya langsung disuruh nulis query yang menandakan operasi join ini.

Dari gambar di postingan ini sudah terlihat kan beberapa jenis operasi join yang ada.

  1. LEFT JOIN
  2. RIGHT JOIN
  3. INNER JOIN
  4. OUTER JOIN
Penjelasannnya pun lebih mudah jika digambarkan sebagai himpunan bagian seperti itu kan? A dan B merupakan nama tabel, sedangkan warna merah menandakan hasil query join terhadap isi tabel.
Perbedaan mendasarnya, INNER JOIN hanya menghasilkan records yang cocok antara kedua tabel, sedangkan OUTER JOIN akan menghasilkan semua records, termasuk yang tidak cocok antara kedua tabel.

Contoh Sederhana

 

mysql> select * from employee;
+——–+———-+———+——–+
| emp_id | emp_name | dept_id | salary |
+——–+———-+———+——–+
|    103 | Jack     |       1 |   1400 |
|    104 | John     |       2 |   1450 |
|    108 | Alan     |       3 |   1150 |
|    107 | Ram      |    NULL |    600 |
+——–+———-+———+——–+
mysql> select * from department;
+———+———–+
| dept_id | dept_name |
+———+———–+
|       1 | Sales     |
|       2 | Finance   |
|       3 | Accounts  |
|       4 | Marketing |
+———+———–+

Dari dua tabel di atas, terlihat bahwa ada nilai NULL pada field dept_id di tabel employee. Menandakan bahwa tidak ada baris yang cocok dengan isi tabel department. Nah, bagaimana hasilnya jika kita melakukan operasi LEFT OUTER JOIN dan RIGHT OUTER JOIN?

mysql> select e.emp_id, e.emp_name, d.dept_name from employee e LEFT JOIN department d on e.dept_id=d.dept_id;
+——–+———-+———–+
| emp_id | emp_name | dept_name |
+——–+———-+———–+
|    103 | Jack     | Sales     |
|    104 | John     | Finance   |
|    108 | Alan     | Accounts  |
|    107 | Ram      | NULL      |
+——–+———-+———–+
mysql> select e.emp_id, e.emp_name, d.dept_name from employee e RIGHT JOIN department d on e.dept_id=d.dept_id;
+——–+———-+———–+
| emp_id | emp_name | dept_name |
+——–+———-+———–+
|    103 | Jack     | Sales     |
|    104 | John     | Finance   |
|    108 | Alan     | Accounts  |
|   NULL | NULL     | Marketing |
+——–+———-+———–+
Jika LEFT JOIN, maka walaupun record valuenya NULL, akan tetap ikut menjadi hasil query dengan nilai NULL, sesuai dengan jumlah baris tabel sebelah kiri. Begitu pula RIGHT JOIN, akan di sesuaikan dengan tabel yang sebelah kanan walaupun ada nilai NULL di tabel kiri.

Paham sekarang? heheu.

@ariffsetiawan

Related

Programming DatabaseSQL

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Popular Posts

  • Ikan Bakar Nadia Situbondo : Kuliner Laut dengan Cita Rasa Khas Pesisir
  • Rumah Makan Bagelen Sejak 1979
  • Pertimbangan Orang Tua dalam Memilih iPhone untuk Anak-anak
  • Warung Lesehan Mbak Tin Purworejo
  • Through Indonesia
  • Sate dan Tengkleng Kambing Pak Manto Solo Sejak 1990
  • Menikmati Pecel Madiun di Bandung
  • Kupat Tahu "Pelopor" Magelang Sejak 1965
  • Warung Pagi Manis
  • Kerajinan Perak Kotagede Yogyakarta

Recent Posts

  • Sate dan Tengkleng Kambing Pak Manto Solo Sejak 1990
  • Jalan-Jalan ke UNS Surakarta
  • Soto Timlo & Ayam Goreng Samson Yogyakarta
  • Senja Pagi Ngablak Magelang: Menikmati Kopi dengan Panorama Tujuh Gunung
  • Teras Nyah Dewi Magelang: Nongkrong dengan Nuansa Tempo Dulu yang Estetik

Categories

Archives

Subscribe

Enter your email address to subscribe to this blog.

Travel

  • Jalan-Jalan ke UNS SurakartaApril 9, 2026
  • Senja Pagi Ngablak Magelang: Menikmati Kopi dengan Panorama Tujuh GunungApril 7, 2026
  • Stasiun Surabaya GubengMarch 30, 2026
  • Monumen Gerbong Maut BondowosoMarch 28, 2026
  • Ziarah ke Puger Jember Jawa TimurMarch 26, 2026

Culinary

  • Sate dan Tengkleng Kambing Pak Manto Solo Sejak 1990April 25, 2026
  • Soto Timlo & Ayam Goreng Samson YogyakartaApril 8, 2026
  • Teras Nyah Dewi Magelang: Nongkrong dengan Nuansa Tempo Dulu yang EstetikApril 6, 2026
  • Ayam Goreng Mbok Berek Jogja Sejak 1830April 5, 2026
  • Pepes Gapeswathi Rest Area Tugu Ireng Perbatasan Jogja–MagelangApril 4, 2026

Technology

  • Mencegah Website Down saat Flash Sale dan Lonjakan TrafficFebruary 18, 2026
  • Hosting Terbaik 2026 untuk Website Pribadi, Portofolio, dan StartupFebruary 8, 2026
  • Nevacloud vs Hostinger VPS Global: Pilihan Terbaik untuk Pengguna IndonesiaDecember 13, 2025
  • Apa Bedanya VPS dengan Hosting BiasaDecember 5, 2025
  • Perbedaan Domain .COM, .ID, dan .NETNovember 5, 2025
©2026 Arif Setiawan | WordPress Theme by SuperbThemes
 

Loading Comments...