Isi kandungan:
- Sahkan struktur pangkalan data
- Cuba pertanyaan pada pangkalan data ujian
- Pertanyaan semak ganda yang termasuk menyertai
- Pertanyaan triple-check dengan subselect
- Huraikan data dengan KUMPULAN OLEH
- Tonton sekatan klausa GROUP BY
- Gunakan kurungan dengan AND, OR, dan TIDAK
- Keistimewaan dail semula kawalan
- Sediakan pangkalan data anda dengan kerap
- Mengendalikan keadaan ralat dengan anggun
Video: Hadoop Processing Frameworks 2025
Kenyataan SQL SELECT adalah alat anda untuk menggali maklumat tersembunyi dalam pangkalan data. Walaupun anda mempunyai idea yang jelas tentang apa yang anda mahu dapatkan, menterjemahkan idea itu ke dalam SQL boleh menjadi satu cabaran. Sekiranya perumusan anda hanya sedikit, anda mungkin berakhir dengan hasil yang salah. Untuk mengurangkan kemungkinan anda tersesat, gunakan sepuluh prinsip berikut.
Sahkan struktur pangkalan data
Jika anda mengambil data dari pangkalan data dan keputusan anda tidak masuk akal, semak reka bentuk pangkalan data. Banyak pangkalan data yang direka dengan baik sedang digunakan, dan jika anda bekerja dengan satu, tetapkan reka bentuk sebelum anda mencuba sebarang ubat lain. Ingat - reka bentuk yang baik adalah prasyarat integriti data.
Cuba pertanyaan pada pangkalan data ujian
Buat pangkalan data ujian yang mempunyai struktur yang sama dengan pangkalan data pengeluaran anda, tetapi dengan hanya beberapa baris perwakilan dalam jadual. Pilih data supaya anda tahu terlebih dahulu apakah keputusan pertanyaan anda.
Jalankan setiap pertanyaan ujian pada data ujian dan lihat sama ada keputusan sepadan dengan jangkaan anda. Jika mereka tidak, anda mungkin perlu merumuskan pertanyaan anda. Jika pertanyaan dirumuskan dengan betul tetapi anda berakhir dengan hasil yang tidak baik, anda mungkin perlu menyusun semula pangkalan data anda.
Bina beberapa set data ujian dan pastikan anda memasukkan kes-kes ganjil, seperti jadual kosong dan nilai ekstrim pada had yang sangat terhad pada julat yang dibenarkan. Cuba berfikir kemungkinan senario dan semak tingkah laku yang betul apabila ia berlaku. Semasa memeriksa kemungkinan kes-kes yang tidak mungkin, anda mungkin mendapat maklumat mengenai masalah yang mungkin berlaku.
Pertanyaan semak ganda yang termasuk menyertai
Joins adalah sangat ketara. Jika pertanyaan anda mengandungi satu, pastikan ia melakukan apa yang anda harapkan sebelum anda menambah klausa WHERE atau faktor rumit lain.
Pertanyaan triple-check dengan subselect
Pertanyaan dengan subselek mengambil data dari satu jadual dan, berdasarkan apa yang diambil, ambil beberapa data dari jadual lain. Oleh itu, dengan definisi, pertanyaan tersebut benar-benar sukar untuk mendapat hak. Pastikan data yang diambil dalam SELECT SELECT adalah data yang SELECT luar perlu menghasilkan keputusan yang dikehendaki. Jika anda mempunyai dua atau lebih tahap subselects, anda perlu lebih berhati-hati.
Huraikan data dengan KUMPULAN OLEH
Katakanlah bahawa anda mempunyai jadual (NASIONAL) yang mengandungi nama (Pemain), pasukan (Pasukan), dan jumlah rumah yang terkena (Homers) oleh setiap pemain besbol di Liga Nasional. Anda boleh mendapatkan jumlah homer pasukan untuk semua pasukan dengan pertanyaan seperti ini:
Pasukan SELECT, SUM (Homers) DARI KUMPULAN NATIONAL GROUP BY;
Pertanyaan ini menyenaraikan setiap pasukan, diikuti dengan jumlah bilangan rumah yang dilanda oleh semua pemain pasukan itu.
Tonton sekatan klausa GROUP BY
Anggap anda mahu senarai pemukul kuasa Liga Kebangsaan. Pertimbangkan pertanyaan berikut:
PILIH Pemain, Pasukan, Homers DARI NATIONAL WHERE Homers> = 20 GROUP BY Team;
Dalam kebanyakan pelaksanaan, pertanyaan ini mengembalikan ralat. Umumnya, hanya lajur yang digunakan untuk pengelompokan atau lajur yang digunakan dalam fungsi set mungkin muncul dalam senarai pilih. Walau bagaimanapun, jika anda ingin melihat data ini, formulasi berikut berfungsi:
PILIH Pemain, Pasukan, Homers DARI NASIONAL DI MANA Homers> = 20 KUMPULAN BY Team, Player, Homers;
Kerana semua lajur yang anda ingin paparkan muncul dalam klausa GROUP BY, pertanyaan itu berhasil dan menyampaikan hasil yang diinginkan. Formulasi ini menyusun senarai yang dihasilkan pertama oleh Pasukan, kemudian oleh Player, dan akhirnya oleh Homers.
Gunakan kurungan dengan AND, OR, dan TIDAK
Kadangkala apabila anda bercampur DAN dan ATAU, SQL tidak memproses ungkapan dalam susunan yang anda harapkan. Gunakan kurungan dalam ungkapan kompleks untuk memastikan bahawa anda mendapat hasil yang dikehendaki. Menaip beberapa ketukan kekunci tambahan adalah harga yang kecil untuk membayar hasil yang lebih baik.
Parentheses juga membantu untuk memastikan bahawa kata kunci BUKAN digunakan untuk istilah atau ungkapan yang anda ingin aplikasinya.
Keistimewaan dail semula kawalan
Ramai orang tidak menggunakan ciri keselamatan yang terdapat di DBMS mereka. Mereka tidak mahu mengganggu mereka kerana mereka berfikir penyalahgunaan dan penyelewengan data adalah perkara yang hanya berlaku kepada orang lain. Jangan tunggu untuk dibakar. Menubuhkan dan menyelenggarakan keselamatan untuk semua pangkalan data yang mempunyai nilai apa pun.
Sediakan pangkalan data anda dengan kerap
Isyarat Understatement: Data sulit untuk diambil selepas lonjakan kuasa, kebakaran, gempa bumi, atau bencana lain memusnahkan cakera keras anda. (Ingat, kadangkala komputer hanya mati tanpa alasan yang baik.) Buat sandaran kerap dan letakkan media sandaran di tempat yang selamat.
Apa yang menjadi tempat selamat bergantung pada seberapa penting data anda. Ia mungkin tahan api yang selamat di dalam bilik yang sama dengan komputer anda. Mungkin di bangunan lain. Mungkin di awan. Ia mungkin berada di sebuah kubu konkrit di bawah gunung yang telah keras untuk menahan serangan nuklear. Tentukan tahap keselamatan yang sesuai untuk data anda.
Mengendalikan keadaan ralat dengan anggun
Sama ada anda membuat pertanyaan ad hoc dari stesen kerja atau memasukkan pertanyaan dalam aplikasi, kadang-kadang SQL mengembalikan mesej ralat dan bukannya hasil yang dikehendaki. Di stesen kerja, anda boleh memutuskan apa yang perlu dilakukan seterusnya, berdasarkan mesej yang dikembalikan.
Dalam aplikasi, keadaannya berbeza. Pengguna aplikasi mungkin tidak tahu apakah tindakan yang sesuai. Menangani kesilapan yang luas ke dalam aplikasi anda untuk menampung setiap kesilapan yang mungkin berlaku. Mewujudkan kod pengendalian ralat mengambil banyak usaha, tetapi lebih baik daripada memandang pengguna secara bersuara di skrin beku.
