Heim  >  Artikel  >  Backend-Entwicklung  >  Verwandte Erläuterungen zum Links-Join-On und zur Platzierung der Where-Bedingung

Verwandte Erläuterungen zum Links-Join-On und zur Platzierung der Where-Bedingung

jacklove
jackloveOriginal
2018-05-09 09:13:072426Durchsuche

links Die Platzierung von Joins an und wo Bedingungen sind in PHP sehr wichtig. In diesem Artikel werden die relevanten Kenntnisse im Detail erläutert.

Abfrage mit und im Left Join

SELECT p.pname,p.pcode,s.saleZeit vom Produkt als p Left Join sales_detail as s on (s.pcode=p.pcode) und s.saletime in ('2012-07-23','2012-07-05');

Das Ergebnis wurde gefunden:

+-------+-----------+

|. pname |

+-------+-----------+

| A |

|. A |. 2012-07-05 |

|

| .pcode=p.pcode) where s .saletime in ('2012-07-23','2012-07-05');

Abfrageergebnisse

+----- --+---- ---+-----------+

| pname |

+------ -+------+--+

| 23.07.2012 | |. A |. 2012-07-05 |. +---------- --+

Fazit: Die bedingte Zuordnung in on zeigt einen Nullwert an, wenn die Daten in einer Tabelle nicht übereinstimmen die Bedingungen. Dabei werden die beiden Tabellen ausgegeben, die die Bedingungsdaten vollständig erfüllen.

Die Bedingungen im Left Join: Es werden die Benchmark-Daten der linken Tabelle und alle angezeigten Daten verwendet In der linken Tabelle wird angezeigt, und dann müssen Sie herausfinden, ob eine Korrelation zur rechten Tabelle besteht. Wenn das entsprechende Feld keinen Wert hat oder die Bedingungen nicht erfüllt, wird es auf NULL gesetzt.

SELECT p.pname,p.pcode,s.saletime from product as p left join sales_detail as s on (s.pcode=p.pcode) ; Wenn Left Join verwendet wird, sieht der angezeigte Inhalt wie folgt aus

+-------+-------+------------+

|. pname |. pcode |. saletime |

+------+-----------+

|. AC |. 2012-07-05 |


|. DE |. 2012-07-16 |. Da ist ein Wert drin

| 🎜>Wenn es einen Wert hat, aber die Bedingungen nicht erfüllt, wird es auf NULL gesetzt. Wenn kein Wert vorhanden ist, muss er NULL sein

Wenn es sich um eine Where-Bedingung handelt, muss diese erfüllt sein.

Anwendungsszenarien: Wenn beispielsweise eine Haupttabelle vorhanden ist, können Sie einen Left-Join in Betracht ziehen, um Daten basierend auf der Haupttabelle anzuzeigen.

Zusammenfassung:

1. Bei Linksverknüpfungen werden alle Daten in der linken Tabelle gefunden, unabhängig davon, welche Bedingung folgt. Wenn Sie also filtern möchten, müssen Sie die Bedingung nach

2 einfügen Beim Inner Join können die Daten in der Tabelle, die die Bedingung erfüllen, erst dann erkannt werden, was eine Filterrolle spielen kann. Sie können die Bedingung auch hinter where setzen.

Der Unterschied zwischen der Bedingung „Ein“ und der Bedingung „Where“ in SQL

Wenn die Datenbank Datensätze zurückgibt, indem sie zwei oder mehr Tabellen verbindet, generiert sie eine temporäre Zwischentabelle , und geben Sie diese temporäre Tabelle dann an den Benutzer zurück.

Bei Verwendung von Left Jion ist der Unterschied zwischen On- und Where-Bedingungen wie folgt:

1. Die On-Bedingung ist eine Bedingung, die beim Generieren einer temporären Tabelle verwendet wird in on ist wahr. Gibt die Datensätze in der Tabelle links zurück.

2. Die Where-Bedingung ist die Bedingung zum Filtern der temporären Tabelle, nachdem die temporäre Tabelle generiert wurde. Zu diesem Zeitpunkt hat Left Join keine Bedeutung (die Datensätze der linken Tabelle müssen zurückgegeben werden). Wenn die Bedingung nicht wahr ist, werden alle herausgefiltert.

In diesem Artikel werden die Kenntnisse im Zusammenhang mit der Platzierung des linken Joins und den Wo-Bedingungen erläutert. Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Verwandte Kenntnisse über die PHP+MySQL-Fuzzy-Abfragefunktion

Dateien über PHP-Methoden kopieren und verschieben


Über jQuery-Effekte – verwandte Kenntnisse zum Verstecken und Anzeigen

Das obige ist der detaillierte Inhalt vonVerwandte Erläuterungen zum Links-Join-On und zur Platzierung der Where-Bedingung. 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