Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio Magang
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio Magang

SQL JOIN: Cara Mudah Gabungkan 2 Tabel atau Lebih

  • August 10, 2026
  • oleh Edusoft Center

Halo sobat data! Saat kamu bekerja dengan database relasional (seperti MySQL, PostgreSQL, atau SQL Server), data hampir tidak pernah disimpan dalam satu tabel tunggal yang raksasa. Biasanya, data dipecah ke beberapa tabel terpisah agar rapi dan tidak ada duplikasi data.

Misalnya, data pengguna disimpan di tabel users, transaksi belanja di tabel orders, dan rincian produk di tabel products. Nah, pertanyaan pentingnya: bagaimana cara menyatukan kembali data tersebut saat kita butuh laporan lengkap?

Jawabannya adalah menggunakan perintah SQL JOIN. Yuk, kita bedah konsep, langkah-langkah praktis, serta bukti eksekusinya langsung melalui screenshot hasil pengujian!

📌 Apa itu SQL JOIN?

SQL JOIN adalah klausa yang digunakan untuk menggabungkan baris dari dua tabel atau lebih berdasarkan kolom kunci yang berhubungan (biasanya melalui Primary Key dan Foreign Key).

Langkah 1: Persiapan Data Sampel


Sebelum menjalankan kueri, mari kita persiapkan empat tabel sampel di database beserta data uji cobanya.


1. Tabel users (Data Pelanggan)

user_idnamecity
1BudiJakarta
2AniBandung
3CiciSurabaya

2. Tabel orders (Data Pesanan)

order_iduser_idproductamount
1011LaptopRp 12.000.000
1021MouseRp 250.000
1032KeyboardRp 500.000
1044MonitorRp 2.000.000

3. Tabel products (Data Produk)

product_idproduct_namecategory_id
1Laptop10
2Mouse20
3Keyboard20

4. Tabel categories (Data Kategori)

category_idcategory_name
10Elektronik
20Aksesoris Komputer

Langkah 1.1: Script SQL Pembuatan Database & Tabel


Sebelum menjalankan kueri JOIN, kamu perlu membuat database beserta 4 tabel pendukungnya terlebih dahulu di MySQL Client. Salin dan jalankan script SQL lengkap di bawah ini:


Kueri DDL & DML Database

Script ini akan membuat database toko_online, membuat 4 tabel relasional, serta memasukkan data sampel uji coba.


-- 1. Membuat & Menggunakan Database
CREATE DATABASE IF NOT EXISTS toko_online;
USE toko_online;

-- 2. Membersihkan Tabel Lama (jika ada)
DROP TABLE IF EXISTS orders;
DROP TABLE IF EXISTS products;
DROP TABLE IF EXISTS categories;
DROP TABLE IF EXISTS users;

-- 3. Membuat Tabel Users
CREATE TABLE users (
    user_id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    city VARCHAR(50) NOT NULL
);

-- 4. Membuat Tabel Categories
CREATE TABLE categories (
    category_id INT PRIMARY KEY,
    category_name VARCHAR(50) NOT NULL
);

-- 5. Membuat Tabel Products
CREATE TABLE products (
    product_id INT PRIMARY KEY AUTO_INCREMENT,
    product_name VARCHAR(50) NOT NULL,
    category_id INT,
    FOREIGN KEY (category_id) REFERENCES categories(category_id)
);

-- 6. Membuat Tabel Orders
CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    user_id INT,
    product VARCHAR(50) NOT NULL,
    amount DECIMAL(12, 2) NOT NULL
);

-- 7. Insert Data Sampel Ke Tabel Users
INSERT INTO users (user_id, name, city) VALUES
(1, 'Budi', 'Jakarta'),
(2, 'Ani', 'Bandung'),
(3, 'Cici', 'Surabaya');

-- 8. Insert Data Sampel Ke Tabel Categories
INSERT INTO categories (category_id, category_name) VALUES
(10, 'Elektronik'),
(20, 'Aksesoris Komputer');

-- 9. Insert Data Sampel Ke Tabel Products
INSERT INTO products (product_id, product_name, category_id) VALUES
(1, 'Laptop', 10),
(2, 'Mouse', 20),
(3, 'Keyboard', 20);

-- 10. Insert Data Sampel Ke Tabel Orders
SET FOREIGN_KEY_CHECKS = 0;

INSERT INTO orders (order_id, user_id, product, amount) VALUES
(101, 1, 'Laptop', 12000000.00),
(102, 1, 'Mouse', 250000.00),
(103, 2, 'Keyboard', 500000.00),
(104, 4, 'Monitor', 2000000.00);

SET FOREIGN_KEY_CHECKS = 1;

Langkah 2: Menguji 4 Jenis Utama SQL JOIN


1. INNER JOIN (Hanya Data yang Cocok)


Langkah Eksekusi

Tulis kueri berikut untuk mengambil data pengguna yang memiliki transaksi pesanan aktif di kedua tabel.


SELECT users.name, orders.product, orders.amount
FROM users
INNER JOIN orders ON users.user_id = orders.user_id;

Output :

Penjelasan Hasil: Hanya Budi dan Ani yang muncul karena user_id mereka terdaftar di tabel users dan tercatat di tabel orders.

2. LEFT JOIN (Semua Data Tabel Kiri)


Langkah Eksekusi

Jalankan kueri di bawah ini untuk menampilkan semua pengguna, termasuk yang belum pernah melakukan belanja.


SELECT users.name, orders.product, orders.amount
FROM users
LEFT JOIN orders ON users.user_id = orders.user_id;

Output :

Mau Kuasai SQL JOIN: Cara Mudah Gabungkan 2 Tabel atau Lebih Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

Hasil eksekusi kueri LEFT JOIN. Data Cici tetap muncul dengan kolom order bernilai NULL.

Penjelasan Hasil: Cici (user_id 3) tetap ditampilkan di hasil kueri, tetapi kolom product dan amount-nya bernilai NULL karena belum ada riwayat pesanan.

3. RIGHT JOIN (Semua Data Tabel Kanan)


Langkah Eksekusi

Jalankan kueri berikut jika ingin memastikan semua transaksi belanja tercatat, meskipun ID penggunanya tidak ditemukan.


SELECT users.name, orders.product, orders.amount
FROM users
RIGHT JOIN orders ON users.user_id = orders.user_id;

Output :

Hasil eksekusi kueri RIGHT JOIN. Pesanan Monitor tetap muncul meskipun nama pembelinya NULL.

Penjelasan Hasil: Transaksi Monitor (order_id 104) tetap tercetak di laporan, namun nama pengguna bernilai NULL karena user_id 4 belum terdaftar.

4. FULL JOIN (Gabungan Seluruh Data)


Langkah Eksekusi

Menampilkan seluruh data dari kedua tabel. Catatan untuk MySQL: Karena MySQL tidak mendukung klausa FULL JOIN secara langsung, gunakan kombinasi LEFT JOIN dan RIGHT JOIN dengan UNION.


-- Kueri khusus MySQL:
SELECT users.name, orders.product, orders.amount
FROM users
LEFT JOIN orders ON users.user_id = orders.user_id
UNION
SELECT users.name, orders.product, orders.amount
FROM users
RIGHT JOIN orders ON users.user_id = orders.user_id;

-- Sintaks standar (PostgreSQL / SQL Server / Oracle):
-- SELECT users.name, orders.product, orders.amount
-- FROM users
-- FULL JOIN orders ON users.user_id = orders.user_id;

Output :

Langkah 3: Menggabungkan Lebih dari 2 Tabel


Langkah Eksekusi

Untuk menggabungkan 3 tabel atau lebih, cukup berantai tambahkan klausa JOIN beserta relasi kunci penghubungnya (ON).


SELECT 
    users.name AS nama_pembeli,
    products.product_name,
    categories.category_name
FROM orders
JOIN users ON orders.user_id = users.user_id
JOIN products ON orders.product_id = products.product_id
JOIN categories ON products.category_id = categories.category_id;

Output :

Tips Penting Saat Menggunakan JOIN


  1. Gunakan Alias Tabel: Singkat nama tabel agar kueri lebih ringkas (contoh: FROM users u JOIN orders o).
  2. Sebutkan Nama Tabel Secara Spesifik: Selalu tulis users.user_id alih-alih hanya user_id untuk menghindari error ambiguous column.
  3. Pilih JOIN yang Sesuai: Jika cuma ingin analisis data belanja yang valid, gunakan INNER JOIN. Jika ingin tahu pengguna mana yang belum pernah belanja, gunakan LEFT JOIN.

💡 Kesimpulan

SQL JOIN adalah kunci utama untuk menghubungkan potongan-potongan data terpisah di database relasional. Dengan mengikuti langkah-langkah di atas dan mengamati bukti screenshot hasil kueri, kamu bisa mempraktikkannya dengan percaya diri!

Penulis :
Abryan Yoga Pratama

Mau Kuasai SQL JOIN: Cara Mudah Gabungkan 2 Tabel atau Lebih Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

Tags: create table mysqlDatabaseDatabase DasarMySQLMySQL Databasesqltutorialtutorial mysqlTutorial MySQL CMDTutorial SQL
Previous Post

Post comment

Cancel reply

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

Recent Posts

  • SQL JOIN: Cara Mudah Gabungkan 2 Tabel atau Lebih
  • Standarisasi Format String di Pandas
  • Monitoring Server Menggunakan Grafana dan Prometheus
  • Problem Framing: Cara Menentukan Business Question dari Data
  • Heatmap Korelasi dengan Seaborn

Arsip

  • August 2026
  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP python security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map | Portfolio Magang | Butuh tim kami langsung yang mengerjakan? Lihat layanan implementasi →

All Right Reserved

WhatsApp us