Rumah >pangkalan data >tutorial mysql >Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

WBOY
WBOYke hadapan
2023-05-28 21:31:551745semak imbas

1. Pertanyaan pengagregatan

1. Fungsi pengagregatan (kira, jumlah, purata...)

Jumlah statistik biasa, pengiraan nilai seri dan operasi lain boleh dilaksanakan menggunakan fungsi agregat , fungsi agregat biasa ialah:

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

  • Perhatikan bahawa anda boleh menambah tempat dan memesan mengikut penyata pada penghujung fungsi agregat ini akan membuat pertanyaan berdasarkan set hasil pernyataan ini

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Sebaik-baiknya tidak untuk menggunakan had berikut. Kes paparan tidak bermakna bagi lajur pertama

Nota: Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan 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

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

2 .jumlah, maks, Minimum mahupun purata boleh dihantar dalam *, medan atau ungkapan mesti dihantar menggunakan

    3 purata boleh digabungkan dengan jumlah dan berbilang fungsi agregat boleh digunakan bersama
  • <.>2. Klausa GROUP BY

    Gunakan klausa GROUP BY untuk melaksanakan pertanyaan kumpulan pada lajur tertentu. Perlu bertemu: Apabila menggunakan GROUP BY untuk pertanyaan mengumpulkan, medan yang ditentukan oleh SELECT mestilah "menghimpun mengikut medan", dan medan lain mesti disertakan dalam fungsi agregat jika mereka mahu muncul dalam SELECT.
  • Fungsi pengagregatan selepas Pilih dilaksanakan selepas Kumpulan oleh selesai melaksanakan pengelompokan

Intipati Kumpulan mengikut pernyataan ialah pengelompokan, dan ia sering digunakan dengan pertanyaan Agregasi menggunakan sintaks

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

: Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

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 diperlukan

3 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)

  • Perintah pelaksanaan: dari > > kumpulan mengikut > dengan >memilih > secara amnya dinamakan di sini Anda juga boleh menamakannya dalam pilih, tetapi pilih dilaksanakan kemudian dan bahagian hadapannya tidak digunakan untuk pelaksanaan.

  • Had sentiasa dilaksanakan pada penghujung

5.---pilih classid, purata(skor) daripada pelajar yang mendapat markah>60 kumpulan oleh classid mempunyai classidMula-mula cari baris dengan skor > (paparkan 1 ,2,3 Purata markah pelajar yang markahnya dalam setiap kelas melebihi 60 mata)

6.kumpulan dengan ialah menggabungkan baris berulang menjadi satu baris

7.kumpulan apabila terdapat banyak medan , mungkin tidak digabungkan, tetapi kesan pengumpulan dicapai, dan fungsi agregat boleh digunakan.

3.HAVING

Selepas mengumpulkan mengikut klausa GROUP BY, apabila anda perlu menapis hasil berkumpulan secara bersyarat, anda tidak boleh menggunakan pernyataan WHERE, tetapi perlu menggunakan HAVING. HAVING dilaksanakan selepas GROUP BY

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

2. Pertanyaan kesatuan ((penekanan) berbilang jadual)

1. Sertaan dalaman

Sintaks:

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

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

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

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.

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

2. Cantuman luar

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)

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

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.

3. Menyertai sendiri

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.

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

4. Subkueri

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)

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Subkueri berbilang baris: Subkueri yang mengembalikan berbilang baris rekod (kerap digunakan)

Kes: Tanya maklumat skor kursus "Bahasa Cina" atau "Bahasa Inggeris": (sambungan dalaman)

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

Kumpulan di sini Ia tidak memainkan peranan sebagai penggabungan, tetapi ia memainkan peranan pengelompokan

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

5. Menggabungkan pertanyaan

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":

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

  • 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"

Contoh analisis pertanyaan pengagregatan MySQL dan operasi pertanyaan kesatuan

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam