Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Pangkalan data dan penaakulan pertanyaan: latihan campuran asli

Soalan pertanyaan memberi ganjaran kepada semakan baris demi baris yang perlahan, dan set ini dibina untuk melatih tabiat itu.

Sepuluh soalan ini merangkumi medan, rekod, kunci, penapis SELECT, pengumpulan Boolean dan hasil kosong. Ia bergerak daripada mudah kepada lebih sukar. Semuanya menggunakan jadual Plants rekaan yang sama, jadi tiada data peribadi sebenar.

Tulis jawapan anda dahulu, kemudian buka penyelesaian berlangkah. Uji setiap pertanyaan terhadap kelapan-lapan rekod, bukan hanya yang kelihatan sesuai.

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

S1. Berapa medan dan berapa rekod yang ada pada jadual?

Lihat jawapan

Medan ialah lajur: PlantID, Name, Type, Price, Stock, Indoor, jadi 6 medan. Rekod ialah baris data P01 hingga P08, jadi 8 rekod. Baris tajuk bukan rekod.

S2. Medan manakah kunci utama yang paling sesuai, dan mengapa Type dan Indoor tidak sesuai?

Lihat jawapan

PlantID berbeza dalam setiap rekod dan dicipta supaya unik. Type berulang (Herb muncul dua kali) dan Indoor hanya ada dua nilai, jadi kedua-duanya tidak dapat mengenal pasti satu rekod.

S3. Beri jenis data paling sesuai untuk Price, Stock dan Indoor.

Lihat jawapan

Price: real (ada perpuluhan seperti 12.50). Stock: integer (nombor bulat). Indoor: Boolean (TRUE atau FALSE).

S4. Tulis pertanyaan yang memaparkan Name setiap herba. Beri hasilnya.

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

Rekod P04 dan P06 lulus. Hasil: Mint, Basil.

S5. Tulis pertanyaan untuk Name dan Price bagi tumbuhan yang kurang daripada 10, dan nyatakan berapa baris dipulangkan.

Lihat jawapan
SELECT Name, Price
FROM Plants
WHERE Price < 10

Cactus 6.00, Mint 4.50, Basil 5.00, Aloe 9.50 lulus. 4 baris.

S6. Tulis pertanyaan yang memaparkan Name setiap tumbuhan yang kehabisan stok.

Lihat jawapan
SELECT Name
FROM Plants
WHERE Stock = 0

Hanya Rose mempunyai Stock 0. Hasil: Rose.

S7. Apakah yang dipulangkan oleh pertanyaan ini?

SELECT Name FROM Plants
WHERE Indoor = TRUE AND Price >= 9.5
Lihat jawapan

Tumbuhan dalam rumah: Fern 12.50, Cactus 6.00, Orchid 28.00, Aloe 9.50. Harga sekurang-kurangnya 9.5: Fern, Orchid, Aloe lulus; Cactus gagal. Hasil: Fern, Orchid, Aloe.

S8. Tulis pertanyaan untuk Name tumbuhan dalam rumah, yang termahal dahulu, dan beri hasilnya.

Lihat jawapan
SELECT Name
FROM Plants
WHERE Indoor = TRUE
ORDER BY Price DESC

Harga tumbuhan dalam rumah: Orchid 28.00, Fern 12.50, Aloe 9.50, Cactus 6.00. Hasil: Orchid, Fern, Aloe, Cactus.

S9. Seorang pelajar mahu herba atau succulent yang berharga lebih daripada 6, tetapi menulis:

SELECT Name FROM Plants
WHERE Type = "Herb" OR Type = "Succulent" AND Price > 6

Beri baris yang sebenarnya dipulangkan, kemudian betulkan pertanyaan itu.

Lihat jawapan

AND dikira dahulu: Herb, ATAU (Succulent DAN Price > 6). Mint dan Basil lulus sebagai herba. Cactus (6.00) gagal. Aloe (9.50) lulus. Hasil sebenar: Mint, Basil, Aloe.

Pertanyaan yang dibetulkan:

SELECT Name FROM Plants
WHERE (Type = "Herb" OR Type = "Succulent") AND Price > 6

Ini memulangkan Aloe sahaja, kerana Mint, Basil dan Cactus semuanya 6 atau kurang.

S10. Terangkan mengapa pertanyaan ini tidak memulangkan baris.

SELECT Name FROM Plants
WHERE Type = "Succulent" AND Stock > 20 AND Indoor = FALSE
Lihat jawapan

Succulent ialah Cactus dan Aloe. Stock melebihi 20 meninggalkan Cactus (25) sahaja, kerana Aloe mempunyai 15. Cactus mempunyai Indoor = TRUE, jadi ia gagal Indoor = FALSE. Tiada rekod lulus ketiga-tiganya, jadi tiada baris dipulangkan. Pertanyaan itu sah, tetapi satu-satunya rekod yang lulus dua ujian gagal ujian terakhir.

Jika anda tersilap

Catat setiap kesilapan dalam log kesilapan beserta puncanya, dan cuba semula pertanyaan itu dalam makmal latihan SQL baca sahaja beberapa hari kemudian. Kembali ke gambaran keseluruhan modul untuk merancang topik seterusnya.

Jika kesilapan yang sama terus berulang, guru kami boleh membantu melalui tuisyen Computer Science dalam talian satu dengan satu.

Dikemas kini:

Langkah seterusnya

Jika anda terus tersilap pada jenis soalan yang sama dalam set ini, guru satu dengan satu boleh duduk bersama jawapan anda dan menunjukkan langkah penaakulan mana yang tersasar.

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