Heim >Datenbank >MySQL-Tutorial >MySQL: Links-Join, Rechts-Join, Inner-Join

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

王林
王林nach vorne
2019-08-23 15:11:203213Durchsuche

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
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

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

Inner Join:

select * from A   a    inner  join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa
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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen