Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Tulis penapis SELECT yang mudah

Pertanyaan hanyalah ayat pendek, namun susunan tiga bahagiannya dan pilihan operator menentukan apa yang anda terima.

Dalam halaman ini
  1. Bagaimana membina pertanyaan?
  2. Contoh berlangkah
  3. Kesilapan yang perlu diawasi
  4. Semak sendiri
  5. Ke mana selepas ini?

Pertanyaan SELECT memilih medan yang dipaparkan (SELECT), jadual yang digunakan (FROM) dan rekod yang dikekalkan (WHERE). Hasilnya ialah jadual baharu yang lebih kecil.

Ini kemahiran teras dalam pangkalan data dan penaakulan pertanyaan. Jadual Plants yang sama daripada pelajaran pertama digunakan di sini.

PlantIDNameTypePriceStockIndoor
P01FernFoliage12.508TRUE
P02CactusSucculent6.0025TRUE
P03RoseFlowering15.000FALSE
P04MintHerb4.5040FALSE
P05OrchidFlowering28.003TRUE
P06BasilHerb5.0012FALSE
P07AloeSucculent9.5015TRUE
P08HibiscusFlowering18.006FALSE

Bagaimana membina pertanyaan?

Tulis dalam susunan yang sama setiap kali:

SELECT field1, field2
FROM table
WHERE condition

Gunakan * selepas SELECT untuk memaparkan setiap medan. Letakkan nilai teks dalam tanda petikan dan biarkan nombor tanpa petikan. Operator perbandingan ialah =, <> (tidak sama), <, <=, > dan >=.

Untuk mengisih hasil, tambah ORDER BY field di hujung (menaik secara lalai, DESC untuk menurun).

Contoh berlangkah

Soalan: senaraikan nama dan harga setiap tumbuhan yang berharga lebih daripada 10.00, yang termurah dahulu.

Langkah 1, pilih medan untuk dipaparkan: Name, Price.

Langkah 2, pilih jadual: Plants.

Langkah 3, tulis syarat: Price > 10.

Langkah 4, tambah isihan: ORDER BY Price.

SELECT Name, Price
FROM Plants
WHERE Price > 10
ORDER BY Price

Langkah 5, uji setiap rekod. Fern 12.50 lulus, Cactus 6.00 gagal, Rose 15.00 lulus, Mint 4.50 gagal, Orchid 28.00 lulus, Basil 5.00 gagal, Aloe 9.50 gagal, Hibiscus 18.00 lulus.

Langkah 6, isih mengikut harga: 12.50, 15.00, 18.00, 28.00.

NamePrice
Fern12.50
Rose15.00
Hibiscus18.00
Orchid28.00

Empat baris dipulangkan. Menyemak kelapan-lapan rekod, bukan hanya yang kelihatan sesuai, menjadikan jawapan betul.

Kesilapan yang perlu diawasi

Kesilapan lazim ialah meletakkan medan yang diuji dalam SELECT dan bukan WHERE.

Jawapan salah: SELECT Price > 10 FROM Plants

Ini meminta pangkalan data memaparkan satu perbandingan, bukan menapis rekod.

Pembetulan: SELECT menyenaraikan lajur untuk dipaparkan; WHERE memegang ujian. Kesilapan kedua ialah tidak meletakkan tanda petikan pada teks, seperti Type = Herb.

Semak sendiri

1. Tulis pertanyaan untuk nama semua herba.

Lihat jawapan
SELECT Name
FROM Plants
WHERE Type = "Herb"

Hasil: Mint, Basil.

2. Berapa baris yang dipulangkan oleh SELECT * FROM Plants WHERE Stock < 10?

Lihat jawapan

Stock di bawah 10: Fern (8), Rose (0), Orchid (3), Hibiscus (6). Itu 4 baris.

3. Apa yang berubah jika anda menulis Price >= 28 dan bukan Price > 28?

Lihat jawapan

> 28 tidak memulangkan baris, kerana tiada harga melebihi 28.00. >= 28 memulangkan Orchid (28.00).

Ke mana selepas ini?

Seterusnya, gabungkan syarat dengan pengumpulan Boolean yang betul, kemudian cuba set latihan modul. Jalankan pertanyaan anda sendiri dalam makmal latihan SQL baca sahaja.

Jika anda mahu guru menyemak cara anda membina setiap pertanyaan, lihat tuisyen Computer Science dalam talian satu dengan satu kami.

Dikemas kini:

Langkah seterusnya

Jika anda boleh membaca pertanyaan tetapi kaku apabila diminta menulisnya dari awal, guru satu dengan satu boleh memberi templat yang boleh diulang dan menyemak setiap bahagian semasa anda membinanya.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami