Heim Datenbank MySQL-Tutorial So verwenden Sie die WHERE-Klausel, um mehrere Tabellen in MySQL zu verknüpfen

So verwenden Sie die WHERE-Klausel, um mehrere Tabellen in MySQL zu verknüpfen

May 10, 2017 pm 01:24 PM

Die Bedeutung der WHERE-Klausel

Es mag etwas seltsam erscheinen, die WHERE-Klausel zum Aufbau einer Join-Beziehung zu verwenden, aber tatsächlich gibt es einen sehr guten Grund. Denken Sie daran, dass beim Zusammenführen mehrerer Tabellen in einer SELECT-Anweisung die entsprechenden Beziehungen im Handumdrehen erstellt werden. In der Definition einer Datenbanktabelle gibt es nichts, was MySQL sagt, wie die Tabellen verknüpft werden sollen. Das müssen Sie selbst machen. Wenn Sie zwei Tabellen verknüpfen, paaren Sie eigentlich jede Zeile in der ersten Tabelle mit jeder Zeile in der zweiten Tabelle. Die WHERE-Klausel fungiert als Filter, der nur die Zeilen einschließt, die der angegebenen Bedingung (hier der Join-Bedingung) entsprechen. Ohne eine WHERE-Klausel wird jede Zeile in der ersten Tabelle mit jeder Zeile in der zweiten Tabelle gepaart, unabhängig davon, ob sie logisch zusammenpassen.

Kartesisches Produkt Das von einer Tabellenbeziehung ohne Join-Bedingungen zurückgegebene Ergebnis ist das kartesische Produkt. Die Anzahl der abgerufenen Zeilen ist die Anzahl der Zeilen in der ersten Tabelle multipliziert mit der Anzahl der Zeilen in der zweiten Tabelle.

Eingabe:

select vend_name,prod_name,prod_price from vendors,products order by vend_name,prod_name;
Nach dem Login kopieren

Analyse: Das entsprechende kartesische Produkt ist nicht das, was wir wollen. Die hier zurückgegebenen Daten ordnen jedes Produkt jedem Lieferanten zu und umfassen

Produkte mit falschen Lieferanten. Tatsächlich haben einige Lieferanten überhaupt keine Produkte.

Vergessen Sie nicht die WHERE-Klausel. Sie sollten sicherstellen, dass alle Joins eine WHERE-Klausel haben, sonst gibt MySQL viel mehr Daten zurück, als Sie möchten. Ebenso sollte die Korrektheit der WHERE-Klausel sichergestellt werden. Falsche Filterbedingungen führen dazu, dass MySQL falsche Daten zurückgibt.

Cross Join Manchmal hören wir Join-Typen, die ein kartesisches Produkt namens Cross Join zurückgeben.

Inner Join

Der bisher verwendete Join wird Equijoin genannt und basiert auf einem Gleichheitstest zwischen zwei Tabellen. Diese Verbindung wird auch als interne Verbindung bezeichnet. Tatsächlich kann für diese Art von Verknüpfung eine etwas andere Syntax verwendet werden, um die Art der Verknüpfung explizit anzugeben. Die folgende SELECT-Anweisung gibt genau die gleichen Daten wie das vorherige Beispiel zurück:

Eingabe:

select vend_name,prod_name,prod_price from vendors inner join products on vendors.vend_id = products.vend_id;
Nach dem Login kopieren

Analyse: Die SELECT-Anweisung in dieser Anweisung ist die gleiche wie die vorherige SELECT-Anweisung, jedoch die FROM Klausel ist anders. Hier ist die Beziehung zwischen den beiden Tabellen Teil der FROM-Klausel, die mit INNERJOIN angegeben wird. Bei Verwendung dieser Syntax wird die Join-Bedingung mit einer bestimmten ON-Klausel anstelle einer WHERE-Klausel angegeben. Die an ON übergebene tatsächliche Bedingung ist dieselbe wie die an WHERE übergebene.

Welche Syntax soll verwendet werden? Die ANSI SQL-Spezifikation bevorzugt die INNER JOIN-Syntax. Darüber hinaus ist es zwar einfacher, Joins mithilfe einer WHERE-Klausel zu definieren, durch die Verwendung einer expliziten Join-Syntax wird jedoch sichergestellt, dass Join-Bedingungen nicht vergessen werden, was sich manchmal auf die Leistung auswirken kann.


Mehrere Tabellen verbinden

SQL hat keine Ahnung, wie viele Tabellen verknüpft werden können ein SELECT-Anweisungslimit. Die Grundregeln für die Erstellung von Joins sind dieselben. Listen Sie zunächst alle Tabellen auf und definieren Sie dann die Beziehungen zwischen den Tabellen. Zum Beispiel:

Eingabe:

select prod_name,vend_name,prod_price,quantity from orderitems,products,vendors where products.vend_id = vendors.vend_id and orderitems.prod_id = products.products.prod_id and order_num = 20005;
Nach dem Login kopieren

Ausgabe:

So verwenden Sie die WHERE-Klausel, um mehrere Tabellen in MySQL zu verknüpfen

Analyse: Dieses Beispiel zeigt die Artikel in der Bestellnummer 20005. Bestellartikel werden in der Tabelle orderitems gespeichert. Jedes Produkt wird anhand seiner Produkt-ID gespeichert, die auf das Produkt in der Produkttabelle verweist. Diese Produkte sind über die Lieferanten-ID, die im Datensatz jedes Produkts gespeichert ist, mit den entsprechenden Lieferanten in der Lieferantentabelle verknüpft. Die FROM-Klausel listet hier drei Tabellen auf, und die WHERE-Klausel definiert diese beiden Join-Bedingungen, und die dritte Join-Bedingung wird verwendet, um die Elemente in der Reihenfolge 20005 herauszufiltern.

Leistungsüberlegungen MySQL ordnet jede angegebene Tabelle zur Verarbeitung des Joins zur Laufzeit zu. Diese Verarbeitung kann sehr ressourcenintensiv sein, daher sollte darauf geachtet werden, keine unnötigen Tabellen zu verknüpfen. Je mehr Tabellen verknüpft werden, desto größer ist der Leistungsabfall.

Experimentieren Sie mehr Wie Sie sehen, gibt es im Allgemeinen mehr als eine Möglichkeit, eine bestimmte SQL-Operation auszuführen. Es gibt selten absolut richtige oder falsche Wege. Die Leistung kann durch die Art des Vorgangs, die Datenmenge in der Tabelle, das Vorhandensein von Indizes oder Schlüsseln und mehrere andere Bedingungen beeinflusst werden. Daher ist es notwendig, mit verschiedenen Auswahlmechanismen zu experimentieren, um herauszufinden, was für bestimmte Situationen am besten funktioniert.

[Verwandte Empfehlungen]

1. Was ist eine MySQL-Unterabfrage? Wie filtere ich mithilfe einer Unterabfrage?

2.MySQL erstellt berechnete Felder mithilfe von Unterabfragen

3.Was sind Joins und relationale Tabellen in MySQL?

4. Warum Joins verwenden und wie man Joins erstellt

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die WHERE-Klausel, um mehrere Tabellen in MySQL zu verknüpfen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Einfache Konzepte für einfaches Lernen MySQL: Einfache Konzepte für einfaches Lernen Apr 10, 2025 am 09:29 AM

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Wie man phpmyadmin öffnet Wie man phpmyadmin öffnet Apr 10, 2025 pm 10:51 PM

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

So verwenden Sie ein einzelnes Gewinde -Redis So verwenden Sie ein einzelnes Gewinde -Redis Apr 10, 2025 pm 07:12 PM

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

MySQL und SQL: Wesentliche Fähigkeiten für Entwickler MySQL und SQL: Wesentliche Fähigkeiten für Entwickler Apr 10, 2025 am 09:30 AM

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

So erstellen Sie eine SQL -Datenbank So erstellen Sie eine SQL -Datenbank Apr 09, 2025 pm 04:24 PM

Das Erstellen einer SQL -Datenbank umfasst 10 Schritte: Auswählen von DBMs; Installation von DBMs; Erstellen einer Datenbank; Erstellen einer Tabelle; Daten einfügen; Daten abrufen; Daten aktualisieren; Daten löschen; Benutzer verwalten; Sichern der Datenbank.

See all articles