โ† Semua Nota
๐Ÿ“Š

TINGKATAN 5 ยท BAB 2

Bahasa Pertanyaan Berstruktur (SQL)

SELECT, INSERT, UPDATE, DELETE, WHERE, ORDER BY dan fungsi agregat.

Bahasa Pertanyaan Berstruktur (SQL)

Pengenalan SQL

Pertanyaan SQL menghasilkan jadual data
Pertanyaan SQL menghasilkan jadual data

SQL (Structured Query Language) ialah bahasa piawai untuk berkomunikasi dengan pangkalan data hubungan โ€” mencipta jadual, memasukkan, mencari, mengemas kini dan memadam data. Contoh dalam nota ini menggunakan jadual MURID(NoMurid, Nama, Kelas, Markah).

SELECT โ€” Mendapatkan Data

sql
-- Pilih SEMUA lajur dan rekod
SELECT * FROM MURID;

-- Pilih lajur tertentu sahaja
SELECT Nama, Markah FROM MURID;

-- Tapis dengan WHERE
SELECT Nama FROM MURID WHERE Markah >= 80;

-- Gabungan syarat
SELECT * FROM MURID
WHERE Kelas = '5 Bestari' AND Markah >= 60;

-- Isih hasil: ASC menaik (lalai), DESC menurun
SELECT Nama, Markah FROM MURID
ORDER BY Markah DESC;
Klausa/OperatorFungsiContoh
WHEREMenapis rekod ikut syaratWHERE Markah >= 50
AND / ORGabungkan syaratWHERE Kelas='5B' AND Markah>60
LIKE dengan %Padanan corakWHERE Nama LIKE 'A%' (bermula A)
ORDER BY ... ASC/DESCIsih menaik/menurunORDER BY Markah DESC
BETWEENJulat nilaiWHERE Markah BETWEEN 50 AND 79

Fungsi Agregat

sql
SELECT COUNT(*) FROM MURID;          -- bilangan rekod
SELECT SUM(Markah) FROM MURID;       -- jumlah markah
SELECT AVG(Markah) FROM MURID;       -- purata markah
SELECT MAX(Markah) FROM MURID;       -- markah tertinggi
SELECT MIN(Markah) FROM MURID;       -- markah terendah

INSERT, UPDATE, DELETE โ€” Memanipulasi Data

sql
-- INSERT: tambah rekod baharu
INSERT INTO MURID (NoMurid, Nama, Kelas, Markah)
VALUES ('M041', 'Siti Aminah', '5 Bestari', 78);

-- UPDATE: kemas kini rekod (WAJIB ada WHERE!)
UPDATE MURID
SET Markah = 85
WHERE NoMurid = 'M041';

-- DELETE: padam rekod (WAJIB ada WHERE!)
DELETE FROM MURID
WHERE NoMurid = 'M041';
โš ๏ธ AMARAN SPM & DUNIA SEBENAR: UPDATE atau DELETE TANPA klausa WHERE akan mengubah/memadam SEMUA rekod dalam jadual! Sentiasa semak WHERE sebelum melaksanakan. Soalan SPM kerap menguji kesan pernyataan tanpa WHERE.

Contoh Soalan Gaya SPM

Diberikan jadual MURID, tulis SQL untuk: (a) memaparkan nama murid kelas 5 Amanah yang markahnya melebihi 70, diisih menurun โ€” SELECT Nama FROM MURID WHERE Kelas = '5 Amanah' AND Markah > 70 ORDER BY Markah DESC; (b) mengira purata markah seluruh tingkatan โ€” SELECT AVG(Markah) FROM MURID; (c) menukar kelas murid M015 kepada 5 Bestari โ€” UPDATE MURID SET Kelas = '5 Bestari' WHERE NoMurid = 'M015';

Contoh: SQL Lengkap

sql
-- pelajar lulus, markah tertinggi dahulu
SELECT Nama, Markah FROM MURID
WHERE Markah >= 50
ORDER BY Markah DESC;

-- purata dan bilangan pelajar
SELECT AVG(Markah), COUNT(*) FROM MURID;

Uji kefahaman anda ๐ŸŽฏ

Daftar percuma untuk jawab kuiz topik ini, tanya AI Tutor, dan kumpul XP.

Daftar Percuma