Dieser Artikel beschreibt die gemeinsame Abfrageoperation für mehrere MySQL-Tabellen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: MySQL Multi-Table Joint Query ist eine Abfragemethode für MySQL-Datenbanken. Im Folgenden wird die Syntax von MySQL Multi-Table Joint Query zu Ihrer Information und zum Lernen vorgestellt. Gemeinsame Abfragesyntax für MySQL-Mehrtabellen: Kopieren Sie den Code wie folgt: SELECT * FROM Einfügetabelle LEFT JOIN Haupttabelle ON t1.lvid=t2.lv_id select * from mytable,title wobei Tabellenname 1.name=Tabellenname 2.writer; Für MySQL-Versionen ab 4.0 verwenden Sie SELECT `id`, `name`, `date`, '' AS `type` FROM table_A WHERE bedingte Anweisung... UNION SELECT `id`, `name`, `date`, 'Nicht abgeschlossen' AS `type` FROM table_B WHERE Bedingte Anweisung... ORDER BY `id` LIMIT Nummer; Wenn die MySQL-Version kleiner als 4.0 ist, müssen Sie eine temporäre Tabelle erstellen. Dies ist in drei Schritte unterteilt. Das Beispiel lautet wie folgt: Schritt 1: Erstellen Sie eine temporäre Tabelle tmp_table_name und fügen Sie relevante Datensätze in table_A ein Kopieren Sie den Code wie folgt: $sql = "CREATE TEMPORARY TABLE tmp_table_name SELECT `id`, `name`, `date`, 'completed' AS `type` FROM table_A WHERE bedingte Anweisung..."; Schritt 2: Relevante Datensätze aus Tabelle_B abrufen und in die temporäre Tabelle tmp_table_name einfügen Kopieren Sie den Code wie folgt: INSERT INTO tmp_table_name SELECT `id`, `name`, `date2` AS `date`, 'Nicht abgeschlossen' AS `type` FROM table_B WHERE Bedingte Anweisung … Schritt 3: Datensätze aus der temporären Tabelle tmp_table_name abrufen Wählen Sie * aus temporärer Tabellenname. Bestellen Sie nach ID DESC. Analyse der Unterschiede zwischen Union, Order By und Limit Codebeispiel: CREATE TABLE `test1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NICHT NULL, `desc` varchar(100) NICHT NULL, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB STANDARD-CHARSET=utf8 1. Die folgende Abfrage meldet einen Fehler: [Err] 1221 - Falsche Verwendung von UNION und ORDER BY Codebeispiel: Wählen Sie * aus Test1, wobei der Name wie 'A%' lautet und nach Name sortiert ist. Union Wählen Sie * aus Test1, wobei der Name wie „B%“ lautet und nach Name sortiert ist. Geändert zu: Codebeispiel: Wählen Sie * aus Test1, wobei der Name etwa „A%“ lautet. Union Wählen Sie * aus Test1, wobei der Name wie „B%“ lautet und nach Name sortiert ist. Beachten Sie, dass in einer Vereinigung ohne Klammern nur eine Sortierung nach verwendet werden kann (denken Sie darüber nach: Was passiert, wenn die Sortierungsspalten auf beiden Seiten der Vereinigung unterschiedliche Namen haben?), die den Ergebnisset nach der Vereinigung sortiert. Geändert zu: Codebeispiel: (Wählen Sie * aus Test1, wo der Name wie „A%“ ist, sortiert nach dem Namen) Union (Wählen Sie * aus Test1, wo der Name beispielsweise „B%“ lautet, sortiert nach dem Namen) Dies ist auch möglich. Die beiden Order-By-Anweisungen werden vor der Vereinigung ausgeführt. 2. Ebenso Codebeispiel: Wählen Sie * aus Test1, wobei der Name wie 'A%' lautet und die Grenze 10 ist Union Wählen Sie * aus Test1, wobei der Name wie 'B%' lautet und das Limit 20 ist. ist gleichbedeutend mit: Codebeispiel: (Wählen Sie * aus Test1, wo der Name etwa „A%“ lautet, Grenze 10) Union (Wählen Sie * aus Test1, wo der Name beispielsweise „B%“ lautet) Limit 20 Das heißt, die letztere Begrenzung wirkt sich auf den Ergebnissatz nach der Vereinigung aus, nicht auf die Auswahl nach der Vereinigung. 3. Unterschiede zwischen UNION und UNION ALL Durch „Union“ werden doppelte Zeilen in den ausgewählten Ergebnismengen auf beiden Seiten der Vereinigung herausgefiltert, während durch „Union All“ keine doppelten Zeilen herausgefiltert werden. Codebeispiel: (Wählen Sie * aus Test1, wo der Name etwa „A%“ lautet, Grenze 10) Union (Wählen Sie * aus Test1, wo der Name beispielsweise „B%“ ist, Limit 20) Versuchen wir eine komplexe SQL-Anweisung zur Altersgruppenanalyse. ( WÄHLEN '5~19' als `Alter`, SUM(`Eindruck`) AS Eindruck, SUM(`klick`) AS klick, Summe(`Kosten`) AS Kosten AUS `Anzeigengruppen-Altersbericht` WO ( ( (`Alter` <= 19) UND (`adgroup_id` = '61') ) UND (`Datum` >= '22.11.2015') ) UND (`Datum` <= '20.02.2017') ) UNION ( WÄHLEN '20~29' als `Alter`, SUM(`Eindruck`) AS Eindruck, SUM(`klick`) AS klick, Summe(`Kosten`) AS Kosten AUS `Anzeigengruppen-Altersbericht` WO ( ( ((`Alter` <= 29) UND(`Alter` >= 20)) UND (`adgroup_id` = '61') ) UND (`Datum` >= '22.11.2015') ) UND (`Datum` <= '20.02.2017') ) UNION ( WÄHLEN '30~39' als `Alter`, SUM(`Eindruck`) AS Eindruck, SUM(`klick`) AS klick, Summe(`Kosten`) AS Kosten AUS `Anzeigengruppen-Altersbericht` WO ( ( ((`Alter` <= 39) UND(`Alter` >= 30)) UND (`adgroup_id` = '61') ) UND (`Datum` >= '22.11.2015') ) UND (`Datum` <= '20.02.2017') ) UNION ( WÄHLEN '40~49' als `Alter`, SUM(`Eindruck`) AS Eindruck, SUM(`klick`) AS klick, Summe(`Kosten`) AS Kosten AUS `Anzeigengruppen-Altersbericht` WO ( ( ((`Alter` <= 49) UND(`Alter` >= 40)) UND (`adgroup_id` = '61') ) UND (`Datum` >= '22.11.2015') ) UND (`Datum` <= '20.02.2017') ) UNION ( WÄHLEN '50~59' als `Alter`, SUM(`Eindruck`) AS Eindruck, SUM(`klick`) AS klick, Summe(`Kosten`) AS Kosten AUS `Anzeigengruppen-Altersbericht` WO ( ( ((`Alter` <= 59) UND(`Alter` >= 50)) UND (`adgroup_id` = '61') ) UND (`Datum` >= '22.11.2015') ) UND (`Datum` <= '20.02.2017') ) Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Lösungen für den schwarzen Bildschirm bei der Installation von Ubuntu (3 Arten)
>>: js realisiert die Lupenfunktion der Shopping-Website
Vorwort Auf dem Markt sind zahlreiche Open-Source...
Inhaltsverzeichnis 1. Bedingte Zugriffsattribute ...
Inhaltsverzeichnis Vorwort Optimierung SSR Import...
Inhaltsverzeichnis 1. Einleitung 2. Mehrere Mögli...
Der Docker Hub, den wir zuvor verwendet haben, wi...
1. Grundlegende Spezifikationen (1) Es muss die I...
Die Verwendung eines SSH-Terminals (z. B. Putty, ...
Inhaltsverzeichnis Was ist FormData? Eine praktis...
Vorwort: Der Linux-Host ist relativ einfach zu ha...
Ziehen Sie das Bild root@EricZhou-MateBookProX: D...
Inhaltsverzeichnis 1. MySQL herunterladen 2. Entp...
In diesem Artikel wird der spezifische Code von j...
Eine Umgebung Installieren Sie VMware Tools auf C...
HTML-img-Tag: definiert ein Bild, das in eine Webs...
Als ich begann, einen FTP-Server auf dem Server e...