Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zum Selbstbeitritt und zur Beitrittsvereinigung von MySQL vor. Die Einführung im Artikel ist meiner Meinung nach für jeden, der sie hat, von großem Referenzwert Wenn Sie es brauchen, können Sie es unten finden. Werfen wir einen Blick darauf.
1. MySQL-Selbstverbindung
MySQL muss sich manchmal selbst verbinden (Selbstverbindung), wenn Informationen abgefragt werden , also müssen wir einen Alias für die Tabelle definieren. Lassen Sie uns ein Beispiel geben. Wir müssen alle Informationen finden, deren Kaufpreis höher ist als der von Huihui.
Wenn wir diese Tabelle sehen, verwenden wir im Allgemeinen Anweisungen, um sie so schnell wie möglich zu bedienen:
SELECT * FROM shoping WHERE price>27
Wie Sie sich vorstellen können, wie kompliziert Das ist ganz einfach. Was ist, wenn Sie die detaillierten Daten der Datenbanktabelle nicht kennen oder die Datenmenge ziemlich groß ist? Als Datenbankadministrator müssen wir andere Methoden verwenden, um die benötigten Daten schnell zu finden.
Schritt-für-Schritt-Abfrage
Der einfachste Weg und der einfachste Weg, sich den Vorgang vorzustellen:
SELECT price FROM shopping WHERE name='惠惠' //得出price查询结果为27 SELECT * FROM shopping WHERE price>27
Im Vergleich zur Selbst- Verbindungsmethode Im Vergleich zu dieser Methode erfordert diese Methode einen manuellen Eingriff in die Zwischenergebnisse, was offensichtlich nicht förderlich für automatische Verarbeitungsvorgänge im Programm ist.
Selbstverbindungsmethode:
SELECT b.* from shopping as a,shopping as b where a.name='惠惠' and a.price<b.price order by b.id
Wir können die folgenden Tabelleninformationen erhalten:
Hinweis:
Obwohl die Aliase a und b unterschiedliche Namen haben, handelt es sich um dieselbe Tabelle. Der Zweck der Definition des Alias besteht darin, dies zu vereinfachen Löschen Sie die Tabellen selbst.
Das durch Ausführen von „select through“ (Zwischentabelle) erhaltene b.* ist das Endergebnis.
Unterabfrage
Unterabfrage ist auch eine häufig verwendete Methode, bei der select innerhalb von select verschachtelt wird.
Der Implementierungscode lautet wie folgt:
SELECT * FROM shopping WHERE price>(select price from 'shopping' where name='惠惠')
Die Ergebnisse sind wie folgt: Es ist ersichtlich, dass die mit den beiden Methoden erzielten Ergebnisse gleich sind:
2. JOIN
INNER JOIN
Die Hauptrolle Die innere Assoziation besteht darin, dass die Ergebnismenge zurückgegeben wird, wenn mindestens eine Übereinstimmung vorhanden ist. Der innere Join und der Join haben hier dieselbe Funktion und werden daher zusammen eingeführt.
Im Folgenden sind zwei Tabellen aufgeführt, die Waren- und Kategorietabellen:
SELECT * FROM goods INNER JOIN category ON goods.id=category.goods_id ORDER BY gods.id
Das Ergebnis sieht so aus:
LEFT JOIN
Das Schlüsselwort LEFT JOIN wird von links sein Alle Dort werden Zeilen aus der Tabelle (Tabellenname1) zurückgegeben, auch wenn in der rechten Tabelle (Tabellenname2) keine passenden Zeilen vorhanden sind. Es wird empfohlen, bei der Arbeit an Projekten die Linksassoziation zu verwenden. Es gibt jedoch viele Tabellenbeziehungen. Eine Tabelle ist eine Linksverknüpfung zu a, aber gleichzeitig eine Rechtsverknüpfung zu b. In diesem Fall ist das Hinzufügen einer Rechtsverknüpfung möglicherweise bequemer.
Wenden Sie die ersten beiden Tabellen an, um eine Left-Join-Abfrage durchzuführen:
SELECT goods.*,category.cate_name FROM goods LEFT JOIN category ON goods.id=category.goods_id ORDER BY goods.id
RIGHT JOIN
Das Schlüsselwort RIGHT JOIN gibt alle Zeilen in der rechten Tabelle (table_name2) zurück, auch wenn es keine passenden Zeilen in der linken Tabelle (table_name1) gibt ). Wenden Sie die ersten beiden Tabellen an, um eine richtige Korrelationsabfrage durchzuführen:
SELECT a.goods_name,a.price,b.* FROM goods as a RIGHT JOIN category as b ON a.id=b.goods_id ORDER BY b.id
Für die Korrelation mit mehreren Tabellen ist dies der Fall Fügen Sie noch ein paar verwandte Sätze hinzu.
Das obige ist der detaillierte Inhalt vonAnalysieren Sie die Selbstverbindung von MySQL und treten Sie der Assoziation bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!