Maison base de données tutoriel mysql Partage de techniques de requêtes complexes dans MySQL

Partage de techniques de requêtes complexes dans MySQL

Jun 14, 2023 pm 01:08 PM
- mysql - 复杂查询 - 技巧分享

MySQL est un système de gestion de bases de données relationnelles largement utilisé. Les requêtes complexes sont l'une des exigences les plus courantes lors de l'utilisation de MySQL. Comment effectuer avec élégance des tâches de requêtes complexes est une compétence essentielle pour les utilisateurs de MySQL. Cet article partagera quelques techniques de requêtes complexes dans MySQL pour aider les lecteurs à mieux maîtriser les requêtes MySQL.

1. Utilisez la clause WHERE pour filtrer les données

La clause WHERE est une clause très courante dans MySQL utilisée pour limiter l'ensemble de résultats renvoyés. En utilisant la clause WHERE, nous pouvons facilement filtrer les données inutiles et renvoyer des données qualifiées. Le format syntaxique de la clause WHERE est le suivant :

SELECT column_name(s) FROM table_name WHERE condition;
Copier après la connexion

Parmi elles, la condition est la condition utilisée pour le filtrage, qui peut être les types de conditions suivants : conditions de comparaison, conditions de plage, conditions NULL, opérateurs logiques et caractères génériques, etc.

Par exemple, si nous voulons interroger tous les enregistrements de la table student dont le champ age est supérieur ou égal à 18 ans, nous pouvons écrire comme ceci :

SELECT * FROM student WHERE age>=18;
Copier après la connexion

L'utilisation de la clause WHERE peut grandement améliorer l'efficacité et la limite de la requête les résultats dans la plage dont nous avons besoin. Dans le même temps, nous pouvons également utiliser plusieurs conditions pour filtrer les données, telles que :

SELECT * FROM student WHERE age>=18 AND gender='male';
Copier après la connexion

2. Utilisez JOIN pour interroger plusieurs tables

JOIN est l'une des méthodes de requête les plus utilisées dans MySQL. Plusieurs tables peuvent être interrogées via. JOIN et les ensembles de résultats sont combinés en fonction des champs correspondants dans ces tables. L'opération JOIN peut combiner deux ensembles de données selon certaines conditions pour atteindre l'objectif de « lier » deux tables.

Il existe trois opérations JOIN : INNER JOIN, LEFT JOIN et RIGHT JOIN.

  1. INNER JOIN

INNER JOIN est l'opération JOIN la plus couramment utilisée. Elle sélectionne les enregistrements qui remplissent les conditions de deux tables en même temps, également appelée équijointure. Vous pouvez utiliser la clause ON pour spécifier les conditions de jointure. Par exemple, si l'on souhaite interroger le nom de l'élève et le nom de sa classe, on peut écrire ainsi :

SELECT student.name, class.class_name FROM student 
INNER JOIN class ON student.class_id=class.id;
Copier après la connexion

Ce résultat de requête renverra le nom de l'élève et le nom de sa classe.

  1. LEFT JOIN

L'opération LEFT JOIN renverra tous les enregistrements de la table de gauche, ainsi que les enregistrements correspondant à la table de droite (le cas échéant). S'il n'y a aucun enregistrement correspondant dans la table de droite, NULL est renvoyé. Par exemple, si nous voulons interroger le nom de la classe et le nom des étudiants, nous pouvons écrire comme ceci :

SELECT class.class_name, student.name FROM class 
LEFT JOIN student ON student.class_id=class.id;
Copier après la connexion

Ce résultat de requête renverra les noms de toutes les classes et les noms des étudiants (s'il y a des étudiants) . S'il n'y a aucun étudiant, le champ du nom affichera NULL.

  1. RIGHT JOIN

L'opération RIGHT JOIN est similaire à l'opération LEFT JOIN, sauf qu'elle renvoie tous les enregistrements de la table de droite et renvoie les enregistrements qui remplissent les conditions de la table de gauche (le cas échéant). S'il n'y a aucun enregistrement correspondant dans la table de gauche, NULL est renvoyé. Par exemple, si nous voulons interroger les noms des étudiants et les noms de leurs classes, nous pouvons écrire comme ceci :

SELECT student.name, class.class_name FROM student 
RIGHT JOIN class ON student.class_id=class.id;
Copier après la connexion

Ce résultat de requête renverra les noms de tous les étudiants et les noms de leurs classes (le cas échéant). aucune classe ne remplit les conditions. Le champ du nom de la classe affiche NULL.

3. Utiliser une sous-requête

La sous-requête fait référence à l'imbrication d'une requête dans une autre requête. Dans MySQL, les sous-requêtes peuvent être utilisées dans les clauses WHERE, FROM et SELECT. Les sous-requêtes peuvent être utilisées pour implémenter des exigences de requête très complexes, telles que l'interrogation de la valeur maximale ou minimale d'un certain champ dans une table.

Par exemple, si nous voulons interroger le dossier de l'étudiant avec le troisième score le plus élevé parmi les étudiants, nous pouvons écrire comme ceci :

SELECT * FROM student WHERE score=(
  SELECT DISTINCT(score) FROM student GROUP BY score ORDER BY score DESC LIMIT 2,1);
Copier après la connexion

Ce résultat de requête renverra le dossier de l'étudiant avec le troisième score le plus élevé parmi les étudiants.

4. Utiliser des tables temporaires

Les tables temporaires sont une fonction très utile dans MySQL Vous pouvez créer une table temporaire au moment de l'exécution et enregistrer les résultats de la requête dans cette table temporaire pour effectuer des opérations de données plus complexes. Les tables temporaires peuvent être créées à l'aide de l'instruction CREATE TEMPORARY TABLE ou construites à l'aide de l'instruction SELECT INTO.

Par exemple, si nous voulons interroger le score moyen et le score le plus élevé d'un élève au fil des années, nous pouvons l'écrire comme ceci :

CREATE TEMPORARY TABLE history_score (  
  `stu_id` INT NOT NULL,
  `avg_score` DECIMAL(5,2),
  `max_score` INT,
  PRIMARY KEY (`stu_id`)
);

INSERT INTO history_score(stu_id, avg_score, max_score)
SELECT s.id, AVG(score) AS avg_score, MAX(score) AS max_score FROM score AS sc 
INNER JOIN student AS s ON sc.stu_id = s.id
GROUP BY s.id;

SELECT st.name, sc.avg_score, sc.max_score FROM student AS st 
INNER JOIN history_score AS sc ON st.id = sc.stu_id;
Copier après la connexion

Cette requête créera une table temporaire history_score et stockera le score moyen et le score le plus élevé score de chaque étudiant au fil des années dans la table temporaire, puis utilisez INNER JOIN pour connecter le nom de l'étudiant aux données de cette table temporaire afin d'obtenir le résultat final de la requête.

Résumé

En utilisant les techniques ci-dessus, nous pouvons effectuer des requêtes de données complexes dans MySQL, améliorer l'efficacité des requêtes et rendre les résultats des requêtes plus conformes à nos besoins. Bien entendu, avant d’effectuer des requêtes complexes, nous devons bien comprendre la syntaxe SQL ainsi que la structure des données et les caractéristiques de MySQL, afin de pouvoir mieux utiliser ces techniques de requête avancées.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Valeur datetime incorrecte : 'datetime_value' - Comment résoudre l'erreur MySQL : la valeur datetime est incorrecte Valeur datetime incorrecte : 'datetime_value' - Comment résoudre l'erreur MySQL : la valeur datetime est incorrecte Oct 05, 2023 pm 12:22 PM

Comment résoudre l'erreur MySQL : valeur de date et d'heure incorrecte MySQL est un système de gestion de base de données relationnelle couramment utilisé qui fournit de puissantes fonctions de stockage de données et de requête. Lors du processus d'utilisation de MySQL, nous rencontrons souvent des messages d'erreur, dont "Valeur date/heure incorrecte" (Valeur date/heure incorrecte). Cette erreur est généralement causée par des valeurs mal formatées fournies lors de l'insertion ou de la mise à jour d'un champ datetime dans la base de données. Afin de résoudre ce problème

Comment créer un tableau de détails de commande pour un système d'épicerie dans MySQL Comment créer un tableau de détails de commande pour un système d'épicerie dans MySQL Nov 01, 2023 am 08:17 AM

Comment créer une table de détails de commande pour un système d'épicerie dans MySQL Lors du développement d'un système d'épicerie, la table des détails de commande est une table de données très importante. Il enregistre les détails du produit dans chaque commande, y compris l'identifiant du produit, la quantité, le prix et d'autres informations. Cet article explique comment créer une table de détails de commande pour le système d'épicerie dans MySQL et joint des exemples de code spécifiques. Créer une base de données et des tables de données Tout d'abord, créez une base de données nommée buy_vegetables dans MySQL. Vous pouvez utiliser la commande suivante : CREATEDATA

Avantages et limites des vues MySQL Avantages et limites des vues MySQL Mar 15, 2024 pm 09:09 PM

Avantages et limites des vues MySQL Dans la base de données MySQL, une vue est une table virtuelle définie par une instruction de requête, qui peut simplifier les opérations de requête complexes et améliorer la lisibilité et la maintenabilité du code. Cet article présentera les avantages et les limites des vues MySQL et fournira des exemples de code spécifiques. 1. Avantages Simplifiez les requêtes complexes : les vues peuvent encapsuler une logique de requête complexe. Il vous suffit d'appeler la vue lorsque cela est nécessaire, et il n'est pas nécessaire d'écrire à plusieurs reprises des instructions de requête complexes. Améliorer les performances : grâce aux vues, certaines requêtes couramment utilisées peuvent être

Les bases de données MySQL sont-elles sensibles à la casse ? Les bases de données MySQL sont-elles sensibles à la casse ? Mar 16, 2024 am 08:21 AM

Les bases de données MySQL sont-elles sensibles à la casse ? Besoin d'exemples de code spécifiques Lorsque vous utilisez la base de données MySQL, vous rencontrez parfois des problèmes sensibles à la casse, c'est-à-dire que lors de l'interrogation, de l'insertion ou de la mise à jour de données, différentes situations peuvent conduire à des résultats différents. La base de données MySQL a une certaine sensibilité dans la gestion des majuscules et des minuscules. Utilisons des exemples de code spécifiques pour explorer en profondeur la sensibilité de la base de données MySQL aux majuscules et aux minuscules. Tout d'abord, créons une simple table de base de données pour un exemple de démonstration : CREATE

Comment implémenter une fonction simple de sauvegarde de données à l'aide de MySQL et Ruby Comment implémenter une fonction simple de sauvegarde de données à l'aide de MySQL et Ruby Sep 21, 2023 am 10:05 AM

Comment utiliser MySQL et Ruby pour mettre en œuvre une fonction simple de sauvegarde de données Avec le développement rapide d'Internet et les progrès de la technologie, la sauvegarde des données est devenue une tâche importante et nécessaire pour toutes les entreprises et tous les particuliers. MySQL et Ruby sont deux outils puissants largement utilisés dans le traitement et la gestion des données. Cet article expliquera comment utiliser MySQL et Ruby pour implémenter une fonction simple de sauvegarde de données et fournira des exemples de code spécifiques. 1. Travail de préparation Avant de commencer à mettre en œuvre la fonction de sauvegarde des données, nous devons remplir les prérequis suivants : Installation

Apprenez étape par étape : Comment créer une fonction de panier d'achat avec PHP et MySQL Apprenez étape par étape : Comment créer une fonction de panier d'achat avec PHP et MySQL Mar 15, 2024 pm 03:21 PM

Dans cet article, nous apprendrons étape par étape comment créer une fonction de panier simple en utilisant PHP et MySQL. Le panier est un élément indispensable d'un site Web de commerce électronique. Il permet aux utilisateurs de stocker temporairement les produits qu'ils souhaitent acheter et d'ajouter, supprimer, modifier et vérifier les produits. En étudiant cet article, vous apprendrez à utiliser PHP pour traiter la logique et MySQL pour stocker des données afin de mettre en œuvre une fonction complète de panier d'achat. Étape 1 : Créer une base de données Tout d'abord, nous devons créer une base de données pour stocker les informations sur les produits. OuvrirMySQ

Gestion de base de données MySQL : bonnes pratiques en utilisant le langage Go Gestion de base de données MySQL : bonnes pratiques en utilisant le langage Go Jun 17, 2023 pm 02:04 PM

MySQL est actuellement l'une des bases de données relationnelles les plus populaires et est largement utilisée dans diverses applications Web et logiciels d'entreprise. La gestion de la base de données MySQL est importante car elle affecte les performances et la stabilité de la base de données. Et utiliser le langage Go pour gérer la base de données MySQL présente de nombreux avantages. Par conséquent, cet article vise à explorer les meilleures pratiques en matière de gestion de bases de données MySQL lors de l’utilisation du langage Go. Utilisation du framework ORM Le framework ORM (Object Relational Mapping) est une technologie qui associe les opérations de base de données au modèle objet d'un langage de programmation. Ô

Partage d'astuces Win11 : technologie d'analyse de fichiers simple et pratique Partage d'astuces Win11 : technologie d'analyse de fichiers simple et pratique Mar 09, 2024 am 08:06 AM

Partage d'astuces Win11 : technologie d'analyse de fichiers simple et pratique Avec l'avènement de l'ère numérique, un grand nombre de fichiers se sont accumulés sur nos ordinateurs et appareils mobiles, notamment des photos, des documents, de la musique, etc. À mesure que le nombre de fichiers augmente, la manière de les gérer plus efficacement devient une question importante. En tant que dernier système d'exploitation de Microsoft, Win11 offre de nombreuses fonctions pratiques pour nous aider à gérer et organiser les fichiers. Cet article partagera quelques techniques d'analyse de fichiers simples et pratiques pour vous aider à gérer vos fichiers plus efficacement. 1. Utilisez Win1

See all articles