suchen
HeimDatenbankMySQL-TutorialMySQL Advanced Join-Natural Join, Beispiele für die Verwendung externer Joins

Natürliche Verknüpfung

Immer wenn Tabellen verknüpft werden, sollte es mindestens eine Spalte geben, die in mehr als einer Tabelle vorkommt (die verknüpfte Spalte). Ein Standard-Join (der im vorherigen Kapitel eingeführte Inner-Join) gibt alle Daten zurück, auch wenn dieselbe Spalte mehrmals vorkommt. Natürliche Verknüpfungen schließen Mehrfachvorkommen aus, sodass jede Spalte nur einmal zurückgegeben wird.

Wie geht das? Die Antwort lautet: Nicht das System erledigt die Aufgabe, sondern Sie selbst. Ein natürlicher Join ist ein Join, bei dem Sie nur diese eindeutigen Spalten auswählen können. Dies geschieht normalerweise durch die Verwendung von Platzhaltern ( SELECT * ) für eine Tabelle und expliziter Teilmengen für die Spalten aller anderen Tabellen. Hier ist ein Beispiel:

Eingabe:

select  c.*,o.order_num,o.order_date,oi.prod_id,oi.quantity,oi.item_price from customers as c,orders as o,orderitems as oi where c.cust_id = o,cust_id and oi.order_num = o.order_num and prod_id = 'FB';

Analyse: In diesem Beispiel werden Platzhalter nur für die erste Tabelle verwendet. Alle anderen Spalten werden explizit aufgelistet, sodass keine doppelten Spalten abgerufen werden.

Tatsächlich ist jede interne Verbindung, die wir bisher hergestellt haben, eine natürliche Verbindung, und es ist wahrscheinlich, dass wir niemals eine interne Verbindung verwenden werden, die keine natürliche Verbindung ist.


Äußere Joins

Viele Joins, die Zeilen aus einer Tabelle mit Zeilen aus einer anderen verknüpften Tabelle kombinieren. Manchmal ist es jedoch erforderlich, Zeilen einzubeziehen, zu denen keine zugehörigen Zeilen vorhanden sind. Beispielsweise müssen Sie möglicherweise Verknüpfungen verwenden, um die folgenden Aufgaben auszuführen:

1. Zählen Sie, wie viele Bestellungen jeder Kunde aufgegeben hat, einschließlich derjenigen, die noch keine Bestellung aufgegeben haben.

2. Listen Sie alle Produkte und Bestellmengen auf, einschließlich der Produkte, die noch niemand bestellt hat.

3. Berechnen Sie die durchschnittliche Verkaufsgröße, einschließlich der Kunden, die noch keine Bestellung aufgegeben haben.

Im obigen Beispiel enthält der Join Zeilen, die keine zugehörigen Zeilen in den zugehörigen Tabellen haben. Diese Art von Verknüpfung wird als externe Verknüpfung bezeichnet.

Die folgende SELECT-Anweisung ergibt einen einfachen Inner Join. Es ruft alle Kunden und deren Bestellungen ab:

Eingabe:

select customers.cust_id,orders.order_num from customers inner join orders on customers.cust_id = orders.cust_id;

Ausgabe:

MySQL Advanced Join-Natural Join, Beispiele für die Verwendung externer Joins

Analyse: Ähnlich wie bei der internen Verknüpfung im vorherigen Kapitel verwendet diese SELECT-Anweisung das Schlüsselwort OUTER JOIN, um den Verknüpfungstyp anzugeben (anstatt in WHERE angegeben zu werden). Klausel). Im Gegensatz zu einem inneren Join, der Zeilen aus zwei Tabellen verknüpft, umfasst ein äußerer Join jedoch auch Zeilen, die keine verknüpften Zeilen haben. Wenn Sie die OUTER JOIN-Syntax verwenden, müssen Sie das Schlüsselwort RIGHT oder LEFT verwenden, um die Tabelle anzugeben, die alle ihre Zeilen enthält (RIGHT bezieht sich auf die Tabelle auf der rechten Seite des OUTER JOIN und LEFT bezieht sich auf die Tabelle auf der linken Seite von). der OUTER JOIN). Das obige Beispiel verwendet LEFT OUTER JOIN, um alle Zeilen aus der linken Tabelle (Kundentabelle) der FROM-Klausel auszuwählen. Um alle Zeilen aus der rechten Tabelle auszuwählen, sollten Sie RIGHT OUTER JOIN verwenden, wie im folgenden Beispiel gezeigt:

Eingabe:

select customers.cust_id,orders.order_num from customers right outer join orders on orders.cust_id = customers.cust_id;

Ohne *=-Operator: MySQL unterstützt nicht die Verwendung der vereinfachten Zeichen *= und =*, die in anderen DBMS beliebt sind.

Arten von Outer-Joins: Es gibt zwei Grundformen von Outer-Joins: Left Outer Join und Right Outer Join. Der einzige Unterschied besteht in der Reihenfolge der zugehörigen Tabellen. Mit anderen Worten: Ein Left Outer Join kann in einen Right Outer Join umgewandelt werden, indem die Reihenfolge der Tabellen in der FROM- oder WHERE-Klausel umgekehrt wird. Daher können beide Arten von externen Verknüpfungen austauschbar verwendet werden, und es ist reine Zweckmäßigkeitssache, welche verwendet wird.


Das obige ist der detaillierte Inhalt vonMySQL Advanced Join-Natural Join, Beispiele für die Verwendung externer Joins. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Erläutern Sie den InnoDB -Pufferpool und seine Bedeutung für die Leistung.Erläutern Sie den InnoDB -Pufferpool und seine Bedeutung für die Leistung.Apr 19, 2025 am 12:24 AM

InnoDbbufferpool reduziert die Scheiben -E/A durch Zwischenspeicherung von Daten und Indizieren von Seiten und Verbesserung der Datenbankleistung. Das Arbeitsprinzip umfasst: 1. Daten lesen: Daten von Bufferpool lesen; 2. Daten schreiben: Schreiben Sie nach der Änderung der Daten an Bufferpool und aktualisieren Sie sie regelmäßig auf Festplatte. 3. Cache -Management: Verwenden Sie den LRU -Algorithmus, um Cache -Seiten zu verwalten. 4. Lesemechanismus: Last benachbarte Datenseiten im Voraus. Durch die Größe des Bufferpool und die Verwendung mehrerer Instanzen kann die Datenbankleistung optimiert werden.

MySQL gegen andere Programmiersprachen: Ein VergleichMySQL gegen andere Programmiersprachen: Ein VergleichApr 19, 2025 am 12:22 AM

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

Lernen von MySQL: Eine Schritt-für-Schritt-Anleitung für neue BenutzerLernen von MySQL: Eine Schritt-für-Schritt-Anleitung für neue BenutzerApr 19, 2025 am 12:19 AM

MySQL ist es wert, gelernt zu werden, da es sich um ein leistungsstarkes Open -Source -Datenbankverwaltungssystem handelt, das für Datenspeicher, Verwaltung und Analyse geeignet ist. 1) MySQL ist eine relationale Datenbank, die SQL zum Betrieb von Daten verwendet und für die strukturierte Datenverwaltung geeignet ist. 2) Die SQL -Sprache ist der Schlüssel zur Interaktion mit MySQL und unterstützt CRUD -Operationen. 3) Das Arbeitsprinzip von MySQL umfasst Client/Server -Architektur, Speicher -Engine und Abfrageoptimierer. 4) Die grundlegende Nutzung umfasst das Erstellen von Datenbanken und Tabellen, und die erweiterte Verwendung umfasst das Verbinden von Tabellen mit dem Join. 5) Zu den häufigen Fehlern gehören Syntaxfehler und Erlaubnisprobleme, und die Debugging -Fähigkeiten umfassen die Überprüfung der Syntax und die Verwendung von Erklärungskenntnissen. 6) Die Leistungsoptimierung umfasst die Verwendung von Indizes, die Optimierung von SQL -Anweisungen und die regelmäßige Wartung von Datenbanken.

MySQL: Wesentliche Fähigkeiten für Anfänger zu meisternMySQL: Wesentliche Fähigkeiten für Anfänger zu meisternApr 18, 2025 am 12:24 AM

MySQL ist für Anfänger geeignet, um Datenbankfähigkeiten zu erlernen. 1. Installieren Sie MySQL Server- und Client -Tools. 2. Verstehen Sie grundlegende SQL -Abfragen, wie z. B. SELECT. 3.. Stammdatenoperationen: Daten erstellen, Daten einfügen, aktualisieren und löschen. 4. Lernen Sie fortgeschrittene Fähigkeiten: Unterabfragen und Fensterfunktionen. 5. Debugging und Optimierung: Überprüfen Sie die Syntax, verwenden Sie Indizes, vermeiden Sie die Auswahl*und verwenden Sie die Grenze.

MySQL: Strukturierte Daten und relationale DatenbankenMySQL: Strukturierte Daten und relationale DatenbankenApr 18, 2025 am 12:22 AM

MySQL verwaltet strukturierte Daten effizient durch Tabellenstruktur und SQL-Abfrage und implementiert Inter-Tisch-Beziehungen durch Fremdschlüssel. 1. Definieren Sie beim Erstellen einer Tabelle das Datenformat und das Typ. 2. Verwenden Sie fremde Schlüssel, um Beziehungen zwischen Tabellen aufzubauen. 3.. Verbessern Sie die Leistung durch Indexierung und Abfrageoptimierung. 4. regelmäßig Sicherung und Überwachung von Datenbanken, um die Datensicherheit und die Leistungsoptimierung der Daten zu gewährleisten.

MySQL: Schlüsselmerkmale und Funktionen erklärtMySQL: Schlüsselmerkmale und Funktionen erklärtApr 18, 2025 am 12:17 AM

MySQL ist ein Open Source Relational Database Management -System, das in der Webentwicklung häufig verwendet wird. Zu den wichtigsten Funktionen gehören: 1. unterstützt mehrere Speichermotoren wie InnoDB und MyISAM, geeignet für verschiedene Szenarien; 2. Bietet Master-Slave-Replikationsfunktionen, um Lastausgleich und Datensicherung zu erleichtern. 3.. Verbessern Sie die Abfrageeffizienz durch Abfrageoptimierung und Index.

Der Zweck von SQL: Interaktion mit MySQL -DatenbankenDer Zweck von SQL: Interaktion mit MySQL -DatenbankenApr 18, 2025 am 12:12 AM

SQL wird verwendet, um mit der MySQL -Datenbank zu interagieren, um die Datenzusatz, Löschung, Änderung, Inspektion und Datenbankdesign zu realisieren. 1) SQL führt Datenoperationen über SELECT, INSERT, INTERATE, UPDATE, Löschen von Anweisungen durch. 2) Verwenden Sie Anweisungen für Datenbankdesign und -verwaltung create, ändern, fallen. 3) Komplexe Abfragen und Datenanalysen werden über SQL implementiert, um die Effizienz der Geschäftsentscheidungen zu verbessern.

MySQL für Anfänger: Erste Schritte mit der DatenbankverwaltungMySQL für Anfänger: Erste Schritte mit der DatenbankverwaltungApr 18, 2025 am 12:10 AM

Zu den grundlegenden Operationen von MySQL gehört das Erstellen von Datenbanken, Tabellen und die Verwendung von SQL zur Durchführung von CRUD -Operationen für Daten. 1. Erstellen Sie eine Datenbank: createdatabasemy_first_db; 2. Erstellen Sie eine Tabelle: CreateTableBooks (IDINGAUTO_INCRECTIONPRIMARYKEY, Titelvarchar (100) Notnull, AuthorVarchar (100) Notnull, veröffentlicht_yearint); 3.. Daten einfügen: InsertIntoBooks (Titel, Autor, veröffentlicht_year) va

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung