MySQL LEFT JOIN

samenvatting: in deze tutorial leert u over MySQL LEFT JOIN – clausule en hoe u deze kunt toepassen op query-gegevens uit twee of meer tabellen.

Inleiding tot MySQL Left JOIN

met LEFT JOIN kunt u gegevens opvragen uit twee of meer tabellen. Gelijkaardig aan de INNER JOIN clausule, is de LEFT JOIN een optionele clausule van de SELECT verklaring, die onmiddellijk na de FROM clausule verschijnt.,

stel dat u twee tabellen wilt samenvoegen t1 en t2.

de volgende instructie laat zien hoe deLEFT JOIN clausule gebruikt om de twee tabellen samen te voegen:

Code language: SQL (Structured Query Language) (sql)

wanneer u deLEFT JOIN clausule gebruikt, worden de concepten van de linker tabel en de rechter tabel geïntroduceerd.

in de bovenstaande syntaxis is t1 de linker tabel en t2 de rechter tabel.,

deLEFT JOIN clausule selecteert gegevens vanaf de linker tabel (t1). Het komt overeen met elke rij van de linker tabel (t1) met elke rij van de rechter tabel(t2) gebaseerd op de join_condition.

als de rijen uit beide tabellen ervoor zorgen dat de join-voorwaarde evalueert naar TRUE, combineert de LEFT JOIN kolommen met rijen uit beide tabellen naar een nieuwe rij en bevat deze nieuwe rij in de resultaatrijen.,

indien de rij uit de linker tabel (t1) niet overeenkomt met een rij uit de rechter tabel (t2), combineert de LEFT JOIN nog steeds kolommen van rijen uit beide tabellen in een nieuwe rij en neemt de nieuwe rij op in de resultaatrijen. Het gebruikt echter NULL voor alle kolommen van de rij van de rechter tabel.

met andere woorden, LEFT JOIN geeft alle rijen van de linker tabel terug, ongeacht of een rij van de linker tabel een overeenkomende rij van de rechter tabel heeft of niet., Als er geen overeenkomst is, zullen de kolommen van de rij in de juiste tabel NULLbevatten.

De volgende Venn diagram helpt je te visualiseren hoe de LEFT JOIN component werkt:

MySQL-LEFT JOIN – Venn Diagram

MySQL-LEFT JOIN voorbeelden

Laten we eens een aantal voorbeelden van het gebruik van de LEFT JOIN component.,

1) met behulp van de MySQL Left JOIN-clausule om twee tabellen samen te voegen

zie de volgende tabellen customers en orders in de voorbeelddatabase.

elke klant kan nul of meer orders hebben terwijl elke bestelling aan één klant moet toebehoren.,

Deze query gebruikt de LEFT JOIN component te vinden van alle klanten en hun bestellingen:

Code language: SQL (Structured Query Language) (sql)

u kunt Ook opslaan sommige typen met behulp van tabel aliassen:

Code language: SQL (Structured Query Language) (sql)

In dit voorbeeld:

  • De customers – de linker tabel-en orders de juiste tabel.
  • deLEFT JOIN clausule geeft alle klanten terug, inclusief de klanten die geen bestelling hebben., Indien een klant geen bestelling heeft, zijn de waarden in de kolom orderNumber en status NULL.,

omdat zowel tabelklanten als orders dezelfde kolomnaam hebben ( customerNumber) in de join-voorwaarde met de equal-operator, kunt u de gebruikende syntaxis als volgt gebruiken:

Code language: SQL (Structured Query Language) (sql)

de volgende clausules zijn gelijkwaardig:

Code language: SQL (Structured Query Language) (sql)

en

Code language: SQL (Structured Query Language) (sql)

Als u de LEFT JOIN clausule vervangt door de INNER JOIN clausule, krijgt u de enige klanten die minstens één bestelling hebben.,

2) MySQL LEFT JOIN-clausule gebruiken om ongeëvenaarde rijen te vinden

de LEFT JOIN – clausule is erg handig als u rijen wilt vinden in een tabel die geen overeenkomende rij uit een andere tabel heeft.,”> om klanten te vinden die geen volgorde:

Code language: SQL (Structured Query Language) (sql)

3) Met behulp van MySQL-LEFT JOIN naar join in drie tabellen

Zie de volgende drie tabellen employees, customers, en payments:

in Dit voorbeeld wordt met twee LEFT JOIN clausules te sluiten bij de drie tabellen: employees, customers, en payments.,

Code language: SQL (Structured Query Language) (sql)

deze afbeelding toont de gedeeltelijke uitvoer:

Hoe werkt het?

  • De eerste LEFT JOIN geeft alle werknemers en klanten terug die elke werknemer vertegenwoordigden of NULL indien de werknemer niet verantwoordelijk is voor een klant.
  • de tweede LEFT JOIN retourneert betalingen van elke klant vertegenwoordigd door een werknemer of NULL indien de klant geen betaling heeft.

voorwaarde waarin clausule vs., Bij clausule

zie het volgende voorbeeld.

Code language: SQL (Structured Query Language) (sql)

dit voorbeeld gebruikte de LEFT JOIN clausule om gegevens uit de tabellen te bevragen orders en orderDetails. De query retourneert de bestelling en de regelitems van het ordernummer 10123.,

Echter, als u de toestand van de WHERE component aan het ON clausule:

Code language: SQL (Structured Query Language) (sql)

Het zal een andere betekenis.,

In dit geval retourneert de query alle orders, maar alleen de volgorde 10123 zal regelitems in verband met het als in het volgende plaatje:

Merk op dat je voor INNER JOIN component, de toestand in de ON component is gelijk aan de toestand in de WHERE component.

in deze tutorial hebt u geleerd hoe u de MySQL LEFT JOIN clausule kunt gebruiken om gegevens uit twee of meer tabellen samen te voegen.,

  • Was deze tutorial nuttig?
  • YesNo

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *