Recraftory

SQL Dasar

Mengenal perintah SQL untuk mengelola dan mengambil data

Apa itu SQL

  • Structured Query Language: bahasa standar untuk mengelola database relasional
  • Digunakan untuk membuat, membaca, memperbarui, dan menghapus data
  • Hampir semua DBMS relasional mendukung SQL

Perintah Dasar SQL

SELECT

  • Mengambil data dari satu atau lebih tabel
  • Contoh: SELECT nama, email FROM users
  • SELECT * FROM users mengambil semua kolom

WHERE

  • Menyaring data berdasarkan kondisi
  • Contoh: SELECT * FROM users WHERE usia > 18
  • Mendukung operator: =, <>, >, <, >=, <=, LIKE, IN, BETWEEN

INSERT

  • Menambahkan record baru ke tabel
  • Contoh: INSERT INTO users (nama, email) VALUES ('Andi', 'andi@email.com')

UPDATE

  • Memperbarui data yang sudah ada
  • Contoh: UPDATE users SET nama = 'Budi' WHERE id = 1
  • Selalu gunakan WHERE untuk menghindari memperbarui semua baris

DELETE

  • Menghapus record dari tabel
  • Contoh: DELETE FROM users WHERE id = 1
  • Selalu gunakan WHERE untuk menghindari menghapus semua data

Join

INNER JOIN

  • Menggabungkan dua tabel hanya untuk record yang cocok di kedua tabel
  • Contoh: SELECT users.nama, pesanan.total FROM users INNER JOIN pesanan ON users.id = pesanan.user_id

LEFT JOIN

  • Mengambil semua data dari tabel kiri, dan data yang cocok dari tabel kanan
  • Record tanpa kecocokan di tabel kanan akan bernilai NULL

RIGHT JOIN

  • Kebalikan dari LEFT JOIN, semua data dari tabel kanan

FULL JOIN

  • Mengambil semua data dari kedua tabel, cocok atau tidak

Fungsi Agregasi

  • COUNT(*) — menghitung jumlah baris
  • SUM(kolom) — menjumlahkan nilai numerik
  • AVG(kolom) — menghitung rata-rata
  • MAX(kolom) — nilai tertinggi
  • MIN(kolom) — nilai terendah

GROUP BY dan HAVING

  • GROUP BY mengelompokkan data berdasarkan kolom tertentu
  • HAVING menyaring hasil setelah grouping
  • Contoh: SELECT kategori, COUNT(*) FROM produk GROUP BY kategori HAVING COUNT(*) > 5

ORDER BY

  • Mengurutkan hasil query
  • ORDER BY nama ASC — urut naik (A-Z)
  • ORDER BY harga DESC — urut turun (termahal ke termurah)

LIMIT

  • Membatasi jumlah baris yang dikembalikan
  • Contoh: SELECT * FROM users LIMIT 10 OFFSET 20
  • Berguna untuk pagination