Heim  >  Artikel  >  Datenbank  >  So erstellen Sie einen Join mithilfe einer MySQL-Anweisung

So erstellen Sie einen Join mithilfe einer MySQL-Anweisung

巴扎黑
巴扎黑Original
2017-05-10 13:24:46970Durchsuche

Warum Joins verwenden?

Wie bereits erwähnt, ermöglicht die Aufteilung der Daten in mehrere Tabellen eine effizientere Speicherung, einfachere Verarbeitung und größere Skalierbarkeit. Doch diese Vorteile haben ihren Preis.

Wenn Daten in mehreren Tabellen gespeichert sind, wie kann ich die Daten mit einer einzigen SELECT-Anweisung abrufen?

Die Antwort ist die Verwendung von Joins. Einfach ausgedrückt ist ein Join ein Mechanismus, der zum Verknüpfen von Tabellen in einer SELECT-Anweisung verwendet wird, daher der Name. Mithilfe einer speziellen Syntax können mehrere Tabellen verknüpft werden, um eine Reihe von Ausgaben zurückzugeben, wobei der Join zur Laufzeit die richtigen Zeilen in den Tabellen korreliert.

Aufrechterhaltung der referenziellen Integrität Es ist wichtig zu verstehen, dass Verknüpfungen keine physischen Einheiten sind. Mit anderen Worten: Es existiert nicht in der tatsächlichen Datenbanktabelle. Joins werden bei Bedarf von MySQL erstellt und bestehen während der Ausführung der Abfrage.

Bei der Verwendung relationaler Tabellen ist es sehr wichtig, nur zulässige Daten in relationale Spalten einzufügen. Um auf das Beispiel hier zurückzukommen: Wenn Sie in die Produkttabelle Produkte einfügen, die von einem Lieferanten mit einer illegalen Lieferanten-ID hergestellt wurden (d. h. nicht in der Lieferantentabelle vorhanden sind), dann sind diese Produkte nicht zugänglich, da sie keinem Lieferanten zugeordnet sind. .

Um dies zu verhindern, können Sie MySQL anweisen, nur zulässige Werte in der Lieferanten-ID-Spalte der Produkttabelle zuzulassen (d. h. Lieferanten, die in der Lieferantentabelle erscheinen).

Dadurch wird die referenzielle Integrität aufrechterhalten, die durch die Angabe von Primärschlüsseln und Fremdschlüsseln in der Definition der Tabelle erreicht wird.


Erstellen eines Joins

Das Erstellen eines Joins ist sehr einfach, indem alle zu verknüpfenden Tabellen angegeben werden und wie sie sind. Einfach verbinden. Sehen Sie sich bitte das folgende Beispiel an:

Eingabe:

select vend_name,prod_name,prod_price from vendors,products where vendors.vend_id= products.vend_id order by vend_name,prod_name;

Ausgabe:

So erstellen Sie einen Join mithilfe einer MySQL-Anweisung

So erstellen Sie einen Join mithilfe einer MySQL-Anweisung

Analyse : Schauen wir uns diesen Code an. Die SELECT-Anweisung gibt wie alle vorherigen Anweisungen die abzurufenden Spalten an. Hier besteht der größte Unterschied darin, dass sich die beiden angegebenen Spalten ( prod_name und prod_price ) in einer Tabelle befinden, während sich die andere Spalte ( vend_name ) in einer anderen Tabelle befindet.

Schauen wir uns nun die FROM-Klausel an. Im Gegensatz zur vorherigen SELECT-Anweisung listet die FROM-Klausel dieser Anweisung zwei Tabellen auf: Anbieter und Produkte. Dies sind die Namen der beiden Tabellen, die durch diese SELECT-Anweisung verbunden werden. Die beiden Tabellen werden ordnungsgemäß mit einer WHERE-Klausel verbunden, die MySQL anweist, die vend_id in der Tabelle „vendors“ und die vend_id in der Tabelle „products“ abzugleichen.

Sie können sehen, dass die beiden abzugleichenden Spalten durch „vendors.vend_id“ und „products.vend_id“ angegeben werden. Dieser vollständig qualifizierte Spaltenname wird hier benötigt, denn wenn nur vend_id angegeben wird, weiß MySQL nicht, auf welche Spalte es sich beziehen soll (es gibt zwei davon, eine in jeder Tabelle).

Vollständig qualifizierte Spaltennamen Vollständig qualifizierte Spaltennamen (Tabellen- und Spaltennamen durch einen Punkt getrennt) müssen verwendet werden, wenn die referenzierte Spalte möglicherweise nicht eindeutig ist. MySQL gibt einen Fehler zurück, wenn Sie auf einen mehrdeutigen Spaltennamen verweisen, der nicht durch einen Tabellennamen qualifiziert ist.

[Verwandte Empfehlungen]

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

2.MySQL erstellt berechnete Felder mithilfe von Unterabfragen

3.Was sind Joins und relationale Tabellen in MySQL?

4. Die Bedeutung der WHERE-Klausel in MySQL und wie man mehrere Tabellen verknüpft

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Join mithilfe einer MySQL-Anweisung. 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