Dieser Blog bezieht sich auf das Internet. Ich weiß nicht, welcher Artikel das Originalmanuskript ist, daher erkläre ich es hiermit.
Wenn die Datenbank durch Verbinden von zwei oder mehr Tabellen Datensätze zurückgibt, wird eine temporäre Zwischentabelle generiert und diese temporäre Tabelle dann an den Benutzer zurückgegeben.
Empfohlene verwandte MySQL-Video-Tutorials: „MySQL-Tutorial “
Bei Verwendung von Left Jion ist der Unterschied zwischen On- und Where-Bedingungen wie folgt:
1. Die Ein-Bedingung ist eine Bedingung, die beim Generieren einer temporären Tabelle verwendet wird. Sie gibt die Datensätze in der linken Tabelle zurück, unabhängig davon, ob die Bedingung in Ein erfüllt ist.
2. Die Where-Bedingung ist die Bedingung zum Filtern der temporären Tabelle, nachdem die temporäre Tabelle generiert wurde. Zu diesem Zeitpunkt hat der linke Join keine Bedeutung (die Datensätze der linken Tabelle müssen zurückgegeben werden). Wenn die Bedingung nicht wahr ist, werden alle herausgefiltert.
Angenommen, es gibt zwei Tabellen:
Tabelle 1: tab2
|
size
|
||||||||||||||||
1 |
10 |
||||||||||||||||
1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’ 2、select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)2
|
|
||||||||||||||||
3 | 30 |
Größe | Name |
10 | AAA |
20 | BBB |
20 | CCC |
Der erste SQL-Prozess: 1. Zwischentabelle unter der Bedingung: tab1.size = tab2.sizetab1.idtab1.sizetab2.sizetab2.name11010AAA22020BBB22020CCC330(null)(null)|| 2. Dann Filtern Sie die Where-Bedingung in der Zwischentabelle (Zeilen, die zu diesem Zeitpunkt nicht wahr sind, werden herausgefiltert): tab2.name='AAA'tab1.idtab1.sizetab2.sizetab2.name11010AAA |
Zweiter SQL-Prozess: 1. Mittelstufe Tabelle unter Bedingung: tab1.size = tab2.size und tab2.name='AAA' (die Datensätze in der linken Tabelle werden zurückgegeben, wenn die Bedingung nicht wahr ist) tab1.idtab1.sizetab2.sizetab2.name11010AAA220(null)(null ) 330(null)(null) |
Das obige ist der detaillierte Inhalt vonEine Erklärung des Unterschieds in der Verwendung von on und where in SQL-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!