Heim > Datenbank > MySQL-Tutorial > Hauptteil

Analyse von Beispielen für Verbindungsabfragen in MySQL

王林
Freigeben: 2023-05-27 14:34:07
nach vorne
1261 Leute haben es durchsucht

    1. Kartesisches Produkt

    Tabelle 1 enthält m Datenzeilen, Tabelle 2 enthält n Datenzeilen und das Abfrageergebnis enthält m*n Datenzeilen.

    2. Klassifizierung

    (1) Klassifizierung nach Alter

    sql92-Standard: unterstützt nur innere Verknüpfungen

    sql99-Standard (empfohlen): unterstützt innere Verknüpfungen, äußere Verknüpfungen (linke äußere Verknüpfung und rechte äußere Verknüpfung), Kreuzverknüpfungen

    (2) Nach Funktion klassifiziert

    Innere Joins: Äquivalente Joins, nicht äquivalente Joins, Selbst-Joins

    Äußere Joins: Linke äußere Joins, rechte äußere Joins, vollständige äußere Joins

    Kreuz-Joins

    3. Äquivalente Joins

    (1) Fragen Sie den Namen des Mädchens und den Namen ihres entsprechenden Freundes ab Zuordnungs-ID-Abfrage)

    SELECT 
        girlname,
        boyname
    FROM
        boys,
        girls
    WHERE
        girls.boyfriend_id=boys.girlfriend_id;
    Nach dem Login kopieren

    (3) Fragen Sie den Mitarbeiternamen (last_name), die Jobnummer (job_id), den Jobnamen (job_title) ab (Mitarbeitertabelle: JDSC-Arbeitstabelle: JOBSC) ------- Alias ​​​​der Tabelle und verbessern Sie sie. Einfachheit und Vermeidung von Mehrdeutigkeiten.

    Die Reihenfolge der beiden oben genannten Tabellen ist austauschbar

    (4) Fragen Sie die Namen von Mitarbeitern und Abteilungen mit Prämien ab

    SELECT 
        last_name,
        department_name
    FROM
        JDSC,
        SNSC
    WHERE
        JDSC.`id`=SNSC.`id`;
    Nach dem Login kopieren
    (5) Gruppenabfrage – Fragen Sie die Anzahl der Abteilungen in jeder Stadt ab

    #"e.job_id"是为了避免歧义
    SELECT
        last_name,
        e.job_id,
        job_title
    FROM
        ESC e,
        JOBSC j
    WHERE
        e.`job_id`=j.`job_id`;
    Nach dem Login kopieren

    (6) Sortieren – Fragen Sie den Jobnamen und die Anzahl der Mitarbeiter für jeden Jobtyp ab und sortieren Sie in absteigender Reihenfolge nach der Anzahl der Mitarbeiter

    #员工名: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;
    Nach dem Login kopieren

    (7) Drei-Tabellen-Verbindung – Fragen Sie den Mitarbeiternamen, den Abteilungsnamen und die Stadt ab, in der sie sich befinden

    #城市分组表名:city
    #部门分组表名:departments 
    SELECT
        COUNT(*) 个数,
        city
    FROM
        departments d,
        locations l
    WHERE
        d.`location_id`=l.`location_id`
    GROUP BY
        city;
    Nach dem Login kopieren

    Das obige ist der detaillierte Inhalt vonAnalyse von Beispielen für Verbindungsabfragen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:yisu.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!