Rumah >pangkalan data >tutorial mysql >Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan
Jumlah statistik biasa, pengiraan nilai seri dan operasi lain boleh dilaksanakan menggunakan fungsi agregat , fungsi agregat biasa ialah:
Nota:
1. count: Anda boleh menggunakan count (*), count (0), count (1) Secara terang-terangan, ia sebenarnya sama seperti memilih 1 daripada keseluruhan jadual dalam sebagai parameter , mula-mula pilih 1, dan kemudian kira nilai kiraan
2 .jumlah, maks, Minimum mahupun purata boleh dihantar dalam *, medan atau ungkapan mesti dihantar menggunakan
:
Medan yang ditentukan oleh Pilih mesti diikuti oleh kumpulan dengan Ya, dan sesetengahnya hanya boleh muncul dalam fungsi agregat, jika tidak masalah akan berlaku
KUMPULAN OLEH Nota
Intipati Kumpulan dengan pernyataan adalah pengumpulan, selalunya Gunakan dengan pertanyaan pengagregatan 2 Selagi terdapat fungsi agregat, pengelompokan mungkin diperlukan3 Dalam operasi pengelompokan, pertanyaan membenarkan medan pengelompokan dan fungsi agregat dan medan bukan kumpulan lain perlu dijamin Tiada berbilang baris selepas pengumpulan (seperti pengumpulan ID pelajar, medan pertanyaan boleh mempunyai nama pelajar, kerana selepas pengumpulan ID pelajar, hanya terdapat satu baris) 4. Gunakan tempat untuk menapis keadaan sebelum mengumpulkan, dan gunakan selepas mengumpulkan (kod ialah Pelaksanaan perintah)
Sintaks:
Anda mungkin tidak dapat membezakan perbezaan antara syarat cantum dan keadaan set hasil penapis dalam kaedah kedua. Anda boleh menggunakan salah satu, tetapi memberi keutamaan kepada yang pertama, untuk sepadan dengan gabungan luar yang berikutnya. Inner join adalah bersamaan dengan memberi syarat sambungan
pada produk Cartesian yang diperolehi Jika tiada kumpulan di sini, hanya akan ada satu baris seperti berikut, iaitu bersamaan dengan Menambah semua markah semua pelajar. Oleh kerana apa yang kita perlukan ialah jumlah markah setiap pelajar, kita perlu mengumpulkan mereka mengikut ID pelajar terlebih dahulu.
Cantuman luar dibahagikan kepada cantuman luar kiri dan cantuman luar kanan. Cantuman luar kiri ialah kaedah sambungan apabila jadual di sebelah kiri dipaparkan sepenuhnya apabila pertanyaan bersama dilakukan; cantuman luar kanan ialah kaedah sambungan apabila jadual di sebelah kanan dipaparkan sepenuhnya apabila pertanyaan bersama dilakukan.
Nota:
Cantum kiri: Data dalam jadual kiri tidak akan berdasarkan syarat cantum (bahagian selepas, termasuk dan) Tapis dan paparkan semua, syarat lain masih boleh ditapis, seperti menambah tempat dan syarat lain kemudian.
Jika terdapat data dalam jadual kanan dengan nilai yang tidak memenuhi syarat sambungan, data dalam jadual kanan akan memaparkan null, dan jadual kiri akan memaparkan semua
Sintaks: (Nota: Hidup juga boleh diikuti di mana)
Sama kaedah pertanyaan, kali ini dapat menunjukkan hasil tempat ke-8 adalah Untuk maklumat pelajar kosong, semua data dalam jadual kiri, iaitu jadual pelajar akan dipaparkan dan tidak akan terjejas oleh keadaan sambungan stu.id = sco .id_pelajar. Jika ia berada dalam sebelumnya Apabila menyambung , tidak boleh memaparkan maklumat pelajar "orang asing belajar bahasa Cina" , kerana tiada ID pelajar "orang asing belajar bahasa Cina" dalam jadual sco.
Menyertai sendiri bermaksud menyambungkan dirinya ke jadual yang sama untuk pertanyaan.
Senario penggunaan: Bandingkan berbilang baris dalam jadual yang sama.
Nota: Pertanyaan penyertaan sendiri juga boleh ditanya menggunakan penyata sertai pada.
Subkueri merujuk kepada pernyataan pilihan yang dibenamkan dalam pernyataan sql lain, juga dipanggil pertanyaan bersarang
Pertanyaan dan rakan sekelas daripada pelajar "tidak mahu tamat pengajian": (menyertai sendiri)
Subkueri berbilang baris: Subkueri yang mengembalikan berbilang baris rekod (kerap digunakan)
Kes: Tanya maklumat skor kursus "Bahasa Cina" atau "Bahasa Inggeris": (sambungan dalaman)
Kumpulan di sini Ia tidak memainkan peranan sebagai penggabungan, tetapi ia memainkan peranan pengelompokan
Dalam aplikasi praktikal, untuk menggabungkan pelaksanaan berbilang pilihan Akibatnya, kesatuan operator yang ditetapkan, kesatuan semua boleh digunakan. Apabila menggunakan UNION dan UNION ALL, medan dalam keputusan pertanyaan yang ditetapkan sebelum dan selepas perlu konsisten .
**Dalam sesetengah kes, berbilang jadual tidak boleh dikaitkan, tetapi anda perlu menanyakan data dalam medan yang sama
**Kesatuan lebih cekap daripada atau
kesatuan
Pengendali ini digunakan untuk mendapatkan gabungan dua set hasil. Pengendali ini secara automatik akan menghapuskan baris pendua dalam set hasil dan akan menyahduplikasi secara automatik apabila kandungan data betul-betul sama.
Kes: Pertanyaan kursus dengan id kurang daripada 3, atau namanya "Bahasa Inggeris":
kesatuan semua
Operator ini digunakan untuk mendapatkan gabungan dua set hasil. Apabila operator ini digunakan, baris pendua dalam set hasil tidak dialih keluar. (Apabila data yang diperoleh adalah betul-betul sama, ia akan dipaparkan dan tiada pertindihan akan dialih keluar)
Kes: Kursus pertanyaan dengan ID kurang daripada 3 atau dengan nama "Java"
Atas ialah kandungan terperinci Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!