Maison > base de données > tutoriel mysql > Analyse d'exemples de requêtes de connexion dans MySQL

Analyse d'exemples de requêtes de connexion dans MySQL

王林
Libérer: 2023-05-27 14:34:07
avant
1286 Les gens l'ont consulté

    1. Produit cartésien

    Le tableau 1 a m lignes de données, le tableau 2 a n lignes de données, la requête les résultats sont m*n lignes de données.

    2. Classification

    (1) Classification par âge

    sql92 standard : prend uniquement en charge les jointures internes

    sql99 standard (Recommandé) : Prend en charge les jointures internes, les jointures externes (jointure externe gauche et jointure externe droite), les jointures croisées

    (2) Classification par fonction

    Inner joins : Jointures équivalentes , jointure non équivalente, auto-jointure

    Jointure externe : jointure externe gauche, jointure externe droite, jointure externe complète

    jointure croisée

    3. Connexion équivalente

    (1) Recherchez le nom de la fille et le nom de son petit ami correspondant

    SELECT 
        girlname,
        boyname
    FROM
        boys,
        girls
    WHERE
        girls.boyfriend_id=boys.girlfriend_id;
    Copier après la connexion

    (2) Recherchez le nom de l'employé (nom_de_famille) et le nom du service correspondant (nom_du_département) - ------------(Requête basée sur l'identifiant associé)

    SELECT 
        last_name,
        department_name
    FROM
        JDSC,
        SNSC
    WHERE
        JDSC.`id`=SNSC.`id`;
    Copier après la connexion

    (3) Rechercher le nom de l'employé (last_name), le numéro du type de travail (job_id), le nom du type de travail ( job_title) (Table des employés : Feuille de travail JDSC : JOBSC) ------ Donnez un alias à la table pour améliorer la simplicité et éviter toute ambiguïté

    #"e.job_id"是为了避免歧义
    SELECT
        last_name,
        e.job_id,
        job_title
    FROM
        ESC e,
        JOBSC j
    WHERE
        e.`job_id`=j.`job_id`;
    Copier après la connexion

    Remarque : #🎜🎜 #

    Si un alias est donné à la table, les champs interrogés ne pourront pas être qualifiés par le nom de la table d'origine.

    L'ordre des deux tableaux ci-dessus est interchangeable

    (4) Interroger les noms des employés et des départements bénéficiant de primes

    #员工名:last_name
    #部门名:department_name
    #奖金率:commissiom_pct
    SELECT
        last_name,
        department_name,
        commissiom_pct
    FROM
        employees e,
        department d
    WHERE
        e.`department_id`=d.`department_id`
    AND
        e.`commissiom_pct` IS NOT NULL;
    Copier après la connexion

    (5) Regroupement Requête - Recherchez le nombre de départements dans chaque ville

    #城市分组表名:city
    #部门分组表名:departments 
    SELECT
        COUNT(*) 个数,
        city
    FROM
        departments d,
        locations l
    WHERE
        d.`location_id`=l.`location_id`
    GROUP BY
        city;
    Copier après la connexion

    (6) Trier - Recherchez le nom du poste et le nombre d'employés pour chaque type de travail, et triez par nombre d'employés par ordre décroissant #🎜🎜 #
    SELECT 
        job_title,
        COUNT(*)
    FROM
        emloyees e,
        jobs j
    WHERE
        e.`job_id`=j.`job_id`
    GROUP BY
        job_title
    ORDER BY
        COUNT(*) DESC;
    Copier après la connexion

    (7) Connexion à trois tables - Rechercher le nom de l'employé, le nom du département et la ville

    SELECT
        last_name,
        department_name,
        city
    FROM
        employees e,
        departments d,
        locations l
    WHERE
        e.`department_id`=d.`department_id`
    AND
        d.`location_id`=l.`location_id`
    AND 
        city LIKE 's%';
    Copier après la connexion

    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!

    Étiquettes associées:
    source:yisu.com
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal