Maison  >  Article  >  base de données  >  Exemple d'analyse des opérations de requête d'agrégation et de requête d'union MySQL

Exemple d'analyse des opérations de requête d'agrégation et de requête d'union MySQL

WBOY
WBOYavant
2023-05-28 21:31:551660parcourir

1. Requête d'agrégation

1 Fonction d'agrégation (compte, somme, moyenne...)

Totaux statistiques communs, calcul des valeurs d'égalité et autres les opérations peuvent être Utilisez des fonctions d'agrégation pour y parvenir. Les fonctions d'agrégation courantes sont : ##🎜 🎜#

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQLNotez que les instructions Where et Order By peuvent être ajoutées à la fin, ces fonctions d'agrégation seront basées sur ces instructions Interrogez l'ensemble de résultats

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Il est préférable de ne pas ajouter de limite après, car la limite de MySQL est différente de celle des autres bases de données

# 🎜🎜## 🎜🎜#Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQLLorsque vous utilisez des fonctions d'agrégation de colonnes statistiques, évitez d'écrire d'autres colonnes, sinon la première colonne s'affichera sans signification

  • # 🎜🎜##🎜 🎜#

  • Remarque :

  • 1.count : Vous pouvez utiliser count ( *), count ( 0), compte (1), pour le dire franchement, c'est en fait la même chose que de sélectionner 1 dans l'ensemble du tableau. Les 0 et 1 dans ce compte sont simplement transmis en tant que paramètres. Sélectionnez d'abord 1, puis comptez la valeur. de compte

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

2.sum , max, min et avg ne peuvent pas être transmis dans *, les champs ou expressions doivent être transmis en utilisant

3.avg peut être combiné avec sum et plusieurs fonctions d'agrégation peuvent être utilisées ensemble#🎜🎜 ## 🎜🎜#2.Clause GROUP BY

Utilisez la clause GROUP BY pour effectuer des requêtes de groupe sur des colonnes spécifiques. À respecter : lors de l'utilisation de GROUP BY pour une requête de regroupement, le champ spécifié par SELECT doit être le "regroupement par champ", et les autres champs doivent être inclus dans la fonction d'agrégation s'ils souhaitent apparaître dans SELECT.

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

La fonction d'agrégation derrière Select est effectuée une fois que Group by a terminé le regroupement Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQLGroup by The essence de l'instruction est le regroupement, qui est souvent utilisé avec des requêtes globales ## 🎜🎜#

Les champs spécifiés par Select doivent être présents après group by. Ceux qui ne sont pas disponibles ne peuvent apparaître que dans la fonction d'agrégation, sinon des problèmes surviendront

.

GROUP BY Notes

1 L'essence de l'instruction Group by est le regroupement, qui est souvent utilisé avec des requêtes globales

    2. comme il existe une fonction d'agrégation, un regroupement peut être nécessaire
  • 3. Dans l'opération de regroupement, la requête permet de regrouper des champs et d'autres fonctions non groupées doivent garantir qu'il n'y a pas plusieurs lignes après. regroupement (comme le regroupement des identifiants d'étudiant, le champ de requête peut avoir des noms d'étudiants, car les étudiants Après le regroupement par identifiant, il n'y a qu'une seule ligne)

  • 4. regroupement (le code est exécuté séquentiellement)
  • #🎜🎜 #Ordre d'exécution : de > à> ; distinct > order by > limit

#🎜 🎜#

L'exécution commence à partir du premier, donc l'alias est généralement nommé ici. nommez-le également dans select, mais select est exécuté plus tard et les endroits nommés lors de l'exécution précédente ne seront pas utilisés. Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQLLa limite est toujours exécutée à la fin

5.---sélectionnez classid, moyenne (score ) de l'élève dont le score>60 est regroupé par classid ayant classidRecherchez d'abord les lignes avec un score >=3, puis regroupez-les par classid

ligne, affichant le score total (montrant le score moyen des élèves dont les scores dans les classes 1, 2 et 3 sont supérieurs à 60 points)

6.group by consiste à fusionner les lignes en double en une seule ligne# 🎜🎜 #

7. Lors d'un regroupement par plusieurs champs, ils ne peuvent pas être fusionnés, mais l'effet de regroupement est obtenu et la fonction d'agrégation peut être utilisée.

3.HAVING

Clause GROUP BY Après le regroupement, lorsque vous devez filtrer conditionnellement les résultats regroupés, vous ne pouvez pas utiliser l'instruction WHERE, mais devez utiliser HAVING. HAVING est exécuté après GROUP BY

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

2. Requête d'union ((accentuation) plusieurs tables)

1. 🎜🎜#

Vous ne pourrez peut-être pas faire la différence entre la condition de jointure et la condition d'ensemble de résultats de filtre dans la deuxième méthode. Vous pouvez utiliser l'un ou l'autre, mais donner la priorité à la première, afin de correspondre aux jointures externes qui suivent. La jointure interne équivaut à donner la condition de connexion sur le produit cartésien obtenu Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Si group by n'est pas utilisé ici, il ressemblera à ce qui suit Il y a une seule ligne, ce qui équivaut à additionner tous les scores de tous les élèves. Puisque nous avons besoin du score total de chaque élève, nous devons d’abord les regrouper en fonction de la carte d’étudiant. Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

2. Les jointures externes Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Les jointures externes sont divisées en jointures externes gauches et jointures externes droites. La jointure externe gauche est une méthode de connexion lorsque la table de gauche est entièrement affichée lorsqu'une requête conjointe est effectuée ; la jointure externe droite est une méthode de connexion lorsque la table de droite est entièrement affichée lorsqu'une requête conjointe est effectuée.

Remarque :

Jointure à gauche : Les données du tableau de gauche ne seront pas basées sur la connexion
  • la condition (après la partie, y compris la et ci-dessus)

    est filtrée et toutes affichées. D'autres conditions peuvent toujours être filtrées, comme l'ajout de où et d'autres conditions plus tard.

    S'il y a des données dans le tableau de droite avec des valeurs qui ne remplissent pas les conditions de connexion, les données du tableau de droite afficheront null et le tableau de gauche affichera afficher tout
  • #🎜 🎜#

    Grammaire : (Remarque : On peut être suivi de où)

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL#🎜🎜 #La même méthode de requête, cette fois peut afficher les informations du 8ème élève dont le score est vide Toutes les données du tableau de gauche, c'est-à-dire que le tableau des élèves sera affiché, et ne sera pas soumis à la condition de connexion stu.id = sco.student_id L'influence des conditions de connexion, s'il s'agit de la précédente

connexion interne Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

, alors #🎜 🎜#

ne peut pas afficher les informations de l'étranger qui apprend le chinois#🎜 🎜#, car il n'y a pas de carte d'étudiant pour les étrangers qui étudient le chinois dans la table sco. 3. L'auto-adhésionL'auto-adhésion signifie se connecter à la même table pour une requête. Scénario d'utilisation : Comparez plusieurs lignes dans le même tableau.

Remarque : les requêtes d'auto-jointure peuvent également être interrogées à l'aide de l'instruction join on.

4. Sous-requête

La sous-requête fait référence à une instruction select intégrée dans d'autres instructions SQL, également appelée requête d'imbrication #🎜🎜 #

Requête et camarades de classe des étudiants « ne veulent pas obtenir leur diplôme » : (auto-connexion)

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Sous-requête à plusieurs lignes : renvoyer la sous-requête pour enregistrements multi-lignes (utilisés fréquemment)

Cas : Interroger les informations de note des cours de « chinois » ou « d'anglais » : (connexion interne)

#🎜 🎜#Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Le groupe par ici ne joue pas un rôle dans la fusion, mais joue un rôle dans le regroupement

# 🎜 🎜#Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL5. Requête de fusion

Dans les applications pratiques, afin de fusionner les résultats d'exécution de plusieurs sélections, vous pouvez utiliser les opérateurs d'ensemble union et union all. Lorsque vous utilisez UNION et UNION ALL, les champs dans les ensembles de résultats de Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

avant et après la requête doivent être cohérents

.

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL**Dans certains cas, plusieurs tables ne peuvent pas être liées, mais vous devez interroger les données dans le même champ

**l'union est plus efficace que ou

union

Cet opérateur est utilisé pour obtenir l'union de deux ensembles de résultats. Cet opérateur éliminera automatiquement les lignes en double dans l'ensemble de résultats et déduquera automatiquement lorsque le contenu des données est exactement le même.

Cas : Requête de cours avec un ID inférieur à 3, ou dont le nom est « Anglais » :

  • #🎜 🎜#union tous

Cet opérateur est utilisé pour obtenir l'union de deux jeux de résultats. Lorsque cet opérateur est utilisé, les lignes en double dans le jeu de résultats ne sont pas supprimées. (Lorsque les données obtenues sont exactement les mêmes, elles seront affichées et aucune duplication ne sera supprimée)

Cas : Requête de cours avec ID inférieur à 3 ou avec le nom "Java"

#🎜🎜 #

Exemple danalyse des opérations de requête dagrégation et de requête dunion MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer