Left en Right Join

Zoals in het vorige deel stuk al duidelijk was werden niet alle renstallen weergegeven in het resultaat. Wil je alle renstallen weergeven, of ze nu een thuisbaan hebben of niet, dan gebruik je in dit geval een LEFT JOIN.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$query
="
    SELECT
        r.naam
        rb.land
    FROM
        renstal AS r
    LEFT JOIN
        racebaan coureurs AS rb
    ON
        rb.thuisbaan_van = r.id"
;
?>


Het resultaat van deze LEFT JOIN query ziet er als volgt uit:

Snel -> Nl
Sneller -> De
Snelst -> Be
Allersnelst -> NULL

Je hebt nu alle renstallen op een rijtje, en als er een thuisbaan is voor ze dan is die ook aangegeven. Maar wat als je alle landen weer wilt geven, met de daarbij horende renstal?
Je kan dan 2 dingen doen. Je kan de volgorde van de tabellen veranderen in je query (dan wisselen de regel voor LEFT JOIN en de regel daarna van plaats) of je maakt van de LEFT JOIN een RIGHT JOIN.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$query
="
    SELECT
        r.naam
        rb.land
    FROM
        renstal AS r
    RIGHT JOIN
        racebaan coureurs AS rb
    ON
        rb.thuisbaan_van = r.id"
;
?>


Het resultaat van deze RIGHT JOIN query ziet er als volgt uit:

Snel -> Nl
Sneller -> De
Snelst -> Be
NULL -> GB
NULL -> Bra

« Lees de omschrijving en reacties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.