SQL Dasar (MySQL): SELECT, JOIN, Index, dan Desain Tabel

SQL • 2026-01-12

SQL Dasar (MySQL): SELECT, JOIN, Index, dan Desain Tabel

Panduan SQL untuk pemula: query SELECT, JOIN, indeks, normalisasi, dan contoh desain tabel yang rapi.

SQL adalah bahasa untuk “ngobrol” dengan database. Dengan query yang benar, aplikasi jadi cepat dan data rapi.

Konsep dasar database relasional

Database relasional (MySQL/MariaDB/PostgreSQL) menyimpan data dalam tabel yang saling berelasi (mis. users, orders, order_items).

Membuat tabel (CREATE TABLE)

CREATE TABLE contacts (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  message TEXT NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

SELECT, WHERE, ORDER BY, LIMIT

SELECT id, name, created_at
FROM contacts
WHERE name LIKE '%andi%'
ORDER BY id DESC
LIMIT 10;

JOIN untuk relasi tabel

SELECT o.id, o.total, u.name
FROM orders o
JOIN users u ON u.id = o.user_id
WHERE o.total > 100000
ORDER BY o.id DESC;

Index dan performa

Index mempercepat pencarian tapi menambah biaya saat insert/update. Buat index untuk kolom yang sering dipakai di WHERE/JOIN.

CREATE INDEX idx_orders_user_id ON orders(user_id);

Normalisasi & desain tabel

  • Pisahkan data berulang ke tabel sendiri (hindari duplikasi).
  • Gunakan tipe data yang tepat (INT, DECIMAL, DATETIME).
  • Selalu pakai prepared statement dari PHP/Laravel untuk mencegah SQL Injection.

Langkah berikutnya

Kalau kamu ingin bikin aplikasi lebih cepat, Laravel + Eloquent akan banyak membantu. Lanjut baca Laravel untuk Pemula.


Butuh bantuan bikin website? Cek layanan dan konsultasi gratis di halaman kontak.