Makmal ini membolehkan anda berlatih pertanyaan SELECT pada satu jadual fiksyen kecil bernama Books. Ia mempunyai dua belas baris dan lajur BookID, Title, Genre, Pages, Price dan Stock.
Hanya pertanyaan baca sahaja diterima, jadi anda bebas mencuba, dan setiap keputusan disertakan penerangan langkah demi langkah tentang cara ia diselesaikan.
Bagaimana menggunakannya?
- Pilih satu daripada lapan latihan. Setiap satu ialah tugasan dalam bahasa biasa, contohnya “Tunjuk Title dan Price semua buku Fantasy.”
- Tulis pertanyaan anda dalam kotak teks. Sesetengah latihan bermula dengan pertanyaan yang hampir betul. Ramal dahulu apa yang akan dipulangkan.
- Tekan Jalankan pertanyaan. Set semula mengembalikan makmal kepada keadaan awal.
- Baca Bagaimana ia diselesaikan, kemudian bandingkan Keputusan anda dengan Keputusan dijangka.
Disokong: SELECT dengan lajur, * atau COUNT, SUM, AVG, MIN dan MAX; FROM Books; WHERE dengan =, <>, <, >, <=, >=, AND, OR, NOT, LIKE, BETWEEN dan IN; ORDER BY; LIMIT. Nilai teks diletakkan dalam petikan tunggal.
Bagaimana membaca keputusan?
Bahagian langkah mengikut susunan fikiran sebenar: FROM Books bermula dengan semua 12 baris, WHERE mengekalkan baris yang syaratnya benar sahaja dan menyatakan berapa yang tinggal, ORDER BY menyusunnya, LIMIT mengekalkan beberapa baris pertama, dan SELECT memilih lajur yang dipaparkan.
Kemudian anda melihat jadual anda bersebelahan dengan jadual dijangka, dengan mesej sama ada ia sepadan dan sama ada susunan juga penting bagi latihan ini.
Contoh langkah demi langkah
Pilih latihan “Tunjuk Title buku Mystery atau Science yang kehabisan stok (Stock ialah 0)”. Pertanyaan permulaan ialah:
SELECT Title FROM Books WHERE Genre = ‘Mystery’ OR Genre = ‘Science’ AND Stock = 0
Jalankan dan anda mendapat tiga baris: Silent Harbour, Paper Lanterns dan Night Train. Keputusan dijangka mempunyai dua baris. Mengapa?
AND dinilai sebelum OR. Jadi pertanyaan bermaksud “Mystery, atau (Science dan kehabisan stok)”. Setiap buku Mystery lulus, sama ada ada stok atau tidak. Tiada buku Science yang Stock-nya 0, jadi bahagian kedua tidak menambah apa-apa.
Baiki dengan kurungan: WHERE (Genre = ‘Mystery’ OR Genre = ‘Science’) AND Stock = 0. Kini ujian genre dibuat dahulu, kemudian ujian stok. Keputusannya Silent Harbour dan Night Train, dan ia sepadan.
Cuba yang kedua: “Kira buku yang harganya kurang daripada 20.” SELECT COUNT(*) FROM Books WHERE Price < 20 memulangkan 5, daripada harga 18.5, 14, 19.9, 16.5 dan 9.9.
Kemudian uji pengawal: taip DROP TABLE Books dan baca penolakan.
Apakah andaian dan had alat ini?
- Data ini rekaan dan tetap. Tiada data peribadi digunakan dan tiada pangkalan data luar boleh disambungkan.
- Hanya satu SELECT baca sahaja dijalankan. Pernyataan tambahan, komen dan fungsi fail ditolak.
- Ia penilai kecil, bukan enjin pangkalan data penuh. Join, GROUP BY dan subkueri tidak tersedia, dan gabungan lajur dengan fungsi agregat ditolak.
- Perbandingan teks memerlukan petikan. Nombor dibandingkan dengan teks memberi ralat yang jelas.
- Ia untuk latihan asli. Ia tidak menanda kerja yang dinilai atau menggunakan data anda sendiri.
Pelajaran mana yang menerangkan keputusan?
Mulakan dengan menulis penapis SELECT yang mudah. Isu kurungan dalam contoh ialah subjek menggabungkan syarat dengan pengumpulan Boolean yang betul. Apabila anda mendapat sifar baris, baca menerangkan mengapa pertanyaan memulangkan sifar baris.
Untuk soalan campuran, cuba latihan pangkalan data dan penaakulan pertanyaan, dan lihat keseluruhan topik dalam pangkalan data dan penaakulan pertanyaan. Jika anda mengikuti laluan ICT praktikal, menggunakan beberapa kriteria pertanyaan dengan betul meliputi idea pengumpulan yang sama dalam perisian pangkalan data.
Mahu guru menyemak pertanyaan anda bersama? Lihat tuisyen Computer Science satu-lawan-satu dalam talian atau tuisyen ICT. Lebih banyak alat ada dalam direktori alat pembelajaran.