..
Hvem vet hva kunnskap om SQL er JOIN. I våre guider og andre artikler forklarte vi hvordan BLI MEDLEM og hvordan du kan skape relasjoner mellom ulike tabeller i en database.
Den vanligste er oppfylt av instrumentet bli med å finne matcher mellom to tabeller, i hvilket tilfelle bistår INNER JOIN klausul som presist lokaliserer og returnerer feltene som tilfredsstiller korrespondansen søkt innen to eller flere tabeller involvert i JOIN.
Mye mindre intuitive er behovet for å identifisere områder som ellers ikke har en kamp i JOIN.
La oss ta et eksempel.
Anta at du har for å administrere en database med e-handel består av bare to tabeller:
For å tilfredsstille det første kravet, selvfølgelig, er ganske enkelt:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST Fra kunder INNER JOIN Orders ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTog så langt ikke noe problem.
Men hvordan kan vi gjøre for å reversere resultatet?
Vel ...
Først må du ikke bruke en LEFT JOIN, INNER JOIN, men sikte på å finne en kamp er ikke full, men delvis der, derimot, er resultatene fra venstre bordet returnert uansett.
Uten dette vil vi søke etter (med WHERE klausulen) missing records (dvs. ikke finnes i rapporten), og deretter identifisert som NULL (i SQL NULL er definert som en slags "spesiell verdi" som identifiserer en fravær av verdi ..)
La oss se koden:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST Fra kunder LEFT JOIN Orders ON = clienti.id ordini.id_cliente HVOR ER NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTResultatet er faktisk listen med navn på kunder som aldri har kjøpt noe.
| |
MS Access (avansert)
Lær å opprette og administrere databaser raskt og enkelt. Starter fra 29 €. |
| |
MySQL (Course)
Forvaltning av open-source database. Starter fra 39 €. |
| |
SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Starter fra 39 €. |