Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL: Links-Join, Rechts-Join, Inner-Join

王林
Freigeben: 2019-08-23 15:14:38
nach vorne
3142 Leute haben es durchsucht

A Tankkartentabelle:

ID, Benutzername, Kartennummer 111

3 111

3 aaa 222

B Tankaufzeichnungstabelle:

id, number, userName, cardNo,

1 1234 aaa aaa 111

2 234 111

left join:

select * from B   b    left join  A a on a.userName = b.userName   where b.userName=aaa
Nach dem Login kopieren
Aufgrund der Bedingung nach on in der obigen SQL entspricht userName mehreren Einträgen in Tabelle A statt einem, und die Ergebnismenge ist ein kartesisches Produkt. Ein Element in Tabelle B erfüllt die verbleibenden zwei Elemente in Liste A. Das Ergebnis ist 2.

select * from B   b    left join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa
Nach dem Login kopieren

Da in der obigen SQL die beiden Bedingungen nach on nur ein eindeutiges Datenelement in Tabelle A finden können, ist das Ergebnis, wie viele Datenelemente in Tabelle B wo und wie viele Datenelemente erfüllen Daten werden im Ergebnissatz zurückgegeben. Hier ist ein zurückgegebenes Datenelement:

Right Join:

Die folgende SQL hat den gleichen Effekt wie der Left Join oben:

select * from A   a    right join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa
Nach dem Login kopieren

Inner Join:

select * from A   a    inner  join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa
Nach dem Login kopieren
Sehen Sie sich zunächst die Bedingungen nach on an. Wenn ein Datenelement in Tabelle A den beiden Bedingungen von on entspricht und es in B nur ein Datenelement gibt Es werden zwei Daten zurückgegeben, die die Where-Bedingung erfüllen.

select * from B   b    inner  join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa
Nach dem Login kopieren

Um das oben Gesagte zusammenzufassen: Schauen Sie sich die Bedingung hinter „on“ an, um zu sehen, ob in der zugehörigen Tabelle ein oder mehrere Daten vorhanden sind.

Weitere verwandte Fragen finden Sie auf der chinesischen PHP-Website:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonMySQL: Links-Join, Rechts-Join, Inner-Join. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage