Node.js - MySQL Where
Hello, para pemrogram yang sedang belajar! Hari ini, kita akan melihat dunia yang menarik Node.js dan MySQL, dengan fokus pada klausa 'WHERE' yang kuat. Sebagai guru ilmu komputer tetangga yang ramah, saya disini untuk memandu Anda dalam perjalanan ini, langkah demi langkah. Jangan khawatir jika Anda baru saja memulai pemrograman – kita akan mulai dari dasar dan naik tingkat per tingkat. Jadi, ambil minuman favorit Anda, duduk nyaman, dan mari kita mulai!
Pengenalan kepada Klausa WHERE
Sebelum kita masuk ke hal yang berbelit-belit, 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 tepat apa yang Anda butuhkan.
Dalam MySQL, klausa WHERE digunakan untuk menyaring catatan dan mengambil hanya data yang diperlukan dari tabel. Itu seperti mengatakan ke database Anda, "Hai, 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'
});
// Sambungkan 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 memilih semua pelanggan dari USA. Klausa WHERE country='USA'
menyaring hasil kita agar menampilkan hanya pelanggan Amerika. Itu seperti meminta petugas perpustakaan untuk 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 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 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 KECEMPATAN 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 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 2023:", result);
});
Query ini mengambil semua order yang dibuat pada tahun 2023.
Operator LIKE
Operator LIKE adalah superhero pencocokan pola. Itu sempurna saat Anda tidak yakin tentang nilai tepat tetapi tahu 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 yang berhubungan 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. Itu seperti meminta buku oleh daftar pengarang tertentu.
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 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 spesifik:", result);
});
Query ini menemukan produk yang:
- Dalam kategori Elektronik atau Komputer
- Harga antara $100 dan $1000
- Nama produk mengandung 'Pro'
- Brand adalah Apple, Samsung, atau Dell
Ringkasan Metode Klausa WHERE
Berikut adalah tabel praktis yang menyummarisakan 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 | Kondisi salah satu | WHERE price < 20 OR category='Electronics' |
NOT | Mengesklusikan 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 cara yang berbeda untuk membuat query Anda sendiri. Itu seperti menjadi master perpustakaan yang dapat menemukan buku apapun di vast library of data!
Saya harap tutorial ini membantu dan menyenangkan. Terus kode, terus belajar, dan jangan lupa menikmati prosesnya! Sebelum Anda tahu, Anda akan bisa mengquery database seperti seorang pro!
Credits: Image by storyset