SQL - Ungku
Hello there, para pelajar SQL masa depan! Hari ini, kita akan melangkah ke dalam dunia yang menarik bagi ungku SQL. Jangan khawatir jika anda baru dalam bidang programming - saya akan menjadi pandu anda, dan kita akan membuat langkah demi langkah. Pada akhir panduan ini, anda akan dapat membina ungku SQL seperti seorang professional!
Apa Itu Ungku SQL?
mari kita mulakan dengan asas. Ungku SQL adalah seperti formula atau pengiraan yang anda boleh gunakan dalam ungku SQL anda. Ia adalah gabungan satu atau lebih nilai, pengguna, dan fungsi SQL yang dievaluasi kepada nilai. Ber fikir tentang ia seperti saus rahsia yang menambah rasa kepada ungku pangkalan data anda!
Sebagai contoh, mari kita katakan anda ada jadual produk, dan anda mahu applying 10% diskon kepada semua harga. Anda boleh menggunakan ungku seperti ini:
SELECT product_name, price, price * 0.9 AS discounted_price
FROM products;
Dalam ungku ini, price * 0.9
adalah ungku SQL kami. Ia mengambil harga dan mengkalikan ia dengan 0.9 (yang sama seperti mengurangkan 10%).
Ungku Boolean SQL
Sekarang, mari kita masuk ke dalam ungku Boolean. Ini adalah seperti soalan benar/salah di dunia SQL. Mereka sentiasa membawa kepada TRUE, FALSE, atau NULL (yang bermakna "tidak diketahui").
Ungku Boolean sangat berguna ketika anda mahu menyaring data anda atau membuat keputusan dalam ungku anda. Berikut adalah beberapa pengguna umum digunakan dalam ungku Boolean:
Pengguna | Keterangan |
---|---|
= | Sama dengan |
<> | Tidak sama dengan |
> | Lebih besar daripada |
< | Kurang daripada |
>= | Lebih besar daripada atau sama dengan |
<= | Kurang daripada atau sama dengan |
AND | Logik AND |
OR | Logik OR |
NOT | Logik NOT |
Mari kita lihat penggunaan ini dalam contoh:
-- Cari semua produk harga lebih daripada $100
SELECT * FROM products WHERE price > 100;
-- Cari semua pesanan dalam tempoh 30 hari yang lalu
SELECT * FROM orders WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
-- Cari semua pelanggan aktif di New York atau California
SELECT * FROM customers
WHERE (state = 'NY' OR state = 'CA') AND is_active = TRUE;
Dalam setiap contoh ini, bahagian selepas klausa WHERE
adalah ungku Boolean. Ia seperti bertanya kepada pangkalan data pertanyaan ya/tidak untuk setiap baris data.
Ungku Numeric SQL
Berikutnya, kita ada ungku numeric. Ini adalah seperti masalah matematik di SQL - mereka melibatkan nombor dan operasi aritmetik.
Berikut adalah pengguna aritmetik asas yang anda boleh gunakan:
Pengguna | Keterangan |
---|---|
+ | Penambahan |
- | Pengurangan |
* | Perkalian |
/ | Pembahagian |
% | Modulo (baki) |
Mari kita lihat beberapa contoh:
-- Calculate the total value of inventory
SELECT product_name, quantity, price, quantity * price AS total_value
FROM inventory;
-- Calculate the age of employees
SELECT first_name, last_name, EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM birth_date) AS age
FROM employees;
-- Calculate the percentage of budget spent
SELECT project_name, budget, spent, (spent / budget) * 100 AS percent_spent
FROM projects;
Dalam contoh ini, kita menggunakan ungku numeric untuk membuat pengiraan pada data kita. Ini sangat berguna untuk mendapatkan insights baru daripada data sedia ada anda.
Ungku Tarikh SQL
Akhir sekali, mari kita bicarakan tentang ungku tarikh. Mengendalikan tarikh dalam SQL boleh menjadi mencabar, tetapi ia juga sangat berkuasa. Ungku tarikh membolehkan anda mengubahsuai dan membandingkan tarikh dalam ungku anda.
Berikut adalah beberapa fungsi tarikh umum:
Fungsi | Keterangan |
---|---|
CURRENT_DATE | Mengembalikan tarikh sekarang |
CURRENT_TIMESTAMP | Mengembalikan tarikh dan masa sekarang |
DATE_ADD | Menambah interval waktu tertentu ke tarikh |
DATE_SUB | Mengurangkan interval waktu tertentu daripada tarikh |
DATEDIFF | Mengira perbezaan antara dua tarikh |
Mari kita lihat penggunaannya dalam tindakan:
-- Find orders placed today
SELECT * FROM orders WHERE order_date = CURRENT_DATE;
-- Find customers who haven't placed an order in the last 90 days
SELECT * FROM customers
WHERE customer_id NOT IN (
SELECT DISTINCT customer_id
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '90 days'
);
-- Calculate how many days ago each order was placed
SELECT order_id, order_date,
DATEDIFF(CURRENT_DATE, order_date) AS days_ago
FROM orders;
Ungku tarikh ini membolehkan anda membuat operasi kompleks dengan tarikh, yang sangat penting untuk menganalisis data berdasarkan masa.
Dan begitu sahaja, rakan-rakan! Kita telah melangkah melalui negeri ungku SQL, daripada logik Boolean ke pengiraan nombor ke perjalanan waktu (well, separuhnya). Ingat, latihan membuat sempurna, jadi jangan takut untuk mencuba ungku ini dalam ungku anda sendiri.
Sebelum kita tamatkan, ini adalah sedikit lelucon SQL untuk anda: Mengapa pentadbir pangkalan data meninggalkan isterinya? Dia mempunyai hubungan banyak-ke-satu! (Ba dum tss!)
Selamat mencari, dan mayat hubungan anda selalu cepat dan ungku anda tidak pernah tamat masa!
Credits: Image by storyset