Node.js - MySQL WHERE (ID: Indonesia)

Hai, para programer yang sedang berkembang! Hari ini, kita akan melihat dunia menarik Node.js dan MySQL, dengan fokus pada klausa 'WHERE' yang kuat. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya disini untuk menghidahkan Anda melalui perjalanan ini, langkah demi langkah. Jangan khawatir jika Anda baru belajar programming - kita akan mulai dari dasar dan naik tingkat perlahan-lahan. Jadi, ambil minuman kesukaan Anda, duduk nyaman, dan mari kita mulai!

Node.js - MySQL Where

Pengenalan ke Klausa WHERE

Sebelum kita masuk ke hal-hal yang membingungkan, mari kita mengerti apa klausa WHERE. Bayangkan Anda memiliki perpustakaan besar penuh buku (database kita), dan Anda mencari jenis buku tertentu (data kita). Klausa WHERE adalah seperti petugas perpustakaan pribadi Anda, membantu Anda menemukan persis apa yang Anda butuhkan.

Dalam MySQL, klausa WHERE digunakan untuk menyaring rekord dan mengambil hanya data yang diperlukan dari tabel. Itu seperti mengatakan ke database Anda, "Halo, saya hanya ingin melihat informasi ini!"

Mari kita mulai dengan contoh sederhana:

const mysql = require('mysql');

// Buat koneksi
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});

// Sambung ke database
connection.connect((err) => {
if (err) throw err;
console.log('Terhubung ke database!');

// Query SQL dengan klausa WHERE
const sql = "SELECT * FROM customers WHERE country='USA'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Pelanggan dari USA:", result);
});
});

Dalam contoh ini, kita sedang memilih semua pelanggan dari USA. Klausa WHERE country='USA' menyaring hasil kita agar menampilkan hanya pelanggan Amerika. Itu seperti meminta petugas perpustakaan untuk memberikan buku hanya dari pengarang Amerika.

Operator Logika

Sekarang, mari kita membuat hal ini sedikit lebih menarik dengan memperkenalkan operator logika. Ini seperti memberikan petunjuk khusus ke petugas perpustakaan teman Anda untuk menemukan buku yang lebih spesifik.

Operator AND

Operator AND memungkinkan kita untuk menggabungkan beberapa kondisi. Itu seperti mengatakan, "Saya ingin buku oleh pengarang Amerika DAN diterbitkan setelah tahun 2000."

const sql = "SELECT * FROM customers WHERE country='USA' AND city='New York'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Pelanggan dari USA dan New York:", result);
});

Query ini akan mengembalikan pelanggan yang baik dari USA dan khususnya dari New York City.

Operator OR

Operator OR memberikan kita fleksibilitas lebih. Itu seperti mengatakan, "Saya ingin buku baik oleh pengarang Amerika ATAU diterbitkan setelah tahun 2000."

const sql = "SELECT * FROM products WHERE price < 20 OR category='Electronics'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Produk murah atau Elektronik:", result);
});

Query ini mengambil produk yang murah (kurang dari $20) atau dalam kategori Elektronik.

Operator NOT

Operator NOT digunakan untuk eksklusif. Itu seperti mengatakan, "Saya ingin semua buku KECEPT yang ditulis oleh pengarang tertentu."

const sql = "SELECT * FROM employees WHERE NOT department='HR'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Karyawan yang bukan HR:", result);
});

Query ini mengambil semua karyawan yang bukan di departemen HR.

Operator BETWEEN

Operator BETWEEN sempurna untuk query rentang. Bayangkan meminta buku yang diterbitkan antara tahun 1990 dan 2000.

const sql = "SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Order dari tahun 2023:", result);
});

Query ini mengambil semua order yang dibuat pada tahun 2023.

Operator LIKE

Operator LIKE adalah superhero pencocokan pola. Itu sempurna ketika Anda tidak yakin nilai tepat tetapi mengetahui sebagian dari itu. Itu seperti meminta buku dengan judul yang mengandung kata khusus.

const sql = "SELECT * FROM products WHERE product_name LIKE '%phone%'";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Produk terkait dengan telepon:", result);
});

Query ini menemukan semua produk dengan 'phone' dalam namanya. Tanda '%' adalah wildcard yang mewakili jumlah karakter apapun.

Operator IN

Operator IN sangat baik saat Anda memiliki daftar nilai untuk diperiksa melawan. Itu seperti meminta buku oleh pengarang daftar khusus.

const sql = "SELECT * FROM customers WHERE country IN ('USA', 'Canada', 'Mexico')";

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Pelanggan dari Amerika Utara:", result);
});

Query ini mengambil pelanggan dari USA, Kanada, atau Meksiko.

Kombinasi Operator Banyak

Sekarang, mari kita gabungkan semua ini! Kita dapat menggabungkan operator ini untuk membuat query yang kompleks. Itu seperti memberikan petugas perpustakaan petunjuk sangat spesifik.

const sql = `
SELECT * FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price BETWEEN 100 AND 1000
AND product_name LIKE '%Pro%'
AND brand IN ('Apple', 'Samsung', 'Dell')
`;

connection.query(sql, (err, result) => {
if (err) throw err;
console.log("Produk tingkat tinggi yang spesifik:", result);
});

Query ini menemukan produk yang:

  1. Dalam kategori Elektronik atau Komputer
  2. Dengan harga antara $100 dan $1000
  3. Mengandung 'Pro' dalam namanya
  4. Dibuat oleh Apple, Samsung, atau Dell

Ringkasan Metode Klausa WHERE

Berikut adalah tabel praktis yang menggabungkan metode yang kita pelajari:

Metode Deskripsi Contoh
WHERE Dasar Kondisi sederhana WHERE country='USA'
AND Menggabungkan kondisi WHERE country='USA' AND city='New York'
OR Atau kondisi WHERE price < 20 OR category='Electronics'
NOT Mengeluarkan kondisi WHERE NOT department='HR'
BETWEEN Rentang nilai WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31'
LIKE Pencocokan pola WHERE product_name LIKE '%phone%'
IN Daftar nilai WHERE country IN ('USA', 'Canada', 'Mexico')

Ingat, latihan membuat sempurna! Cobalah menggabungkan metode ini dalam berbagai cara untuk membuat query Anda sendiri. Itu seperti menjadi petugas perpustakaan master yang dapat menemukan buku apa pun di perpustakaan data yang luas!

Saya harap tutorial ini telah membantu dan menyenangkan. Terus coding, terus belajar, dan jangan lupa menikmati prosesnya. Sebelum Anda mengetahui, Anda akan menjadi ahli dalam mengquery database!

Credits: Image by storyset