..
Wie weet wat kennis van SQL is de JOIN. In onze gidsen en andere artikelen hebben we uitgelegd hoe de JOIN en hoe kunt u de relaties tussen verschillende tabellen in een database.
De meest voorkomende eis wordt voldaan door het instrument JOIN om wedstrijden tussen twee tabellen, in welk geval redt de INNER JOIN-component, die nauwkeurig lokaliseert en geeft de velden die de correspondentie te voldoen gezocht binnen de betrokken twee of meer tabellen vinden in de JOIN.
Veel minder intuïtief van het tegendeel is de noodzaak om de velden die een wedstrijd niet binnen de JOIN te identificeren.
Laten we een voorbeeld nemen.
Stel, u wilt een database van een e-commerce bestaat uit slechts twee tabellen te beheren:
Om te voldoen aan de eerste eis is natuurlijk, is heel eenvoudig:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST FROM klanten INNER JOIN Bestellingen ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTen tot nu toe geen probleem.
Maar hoe kunnen we doen om het resultaat te keren?
Nou ...
De eerste, geen gebruik maken van een INNER JOIN, maar een LEFT JOIN om een wedstrijd vol maar niet gedeeltelijk, waar echter de resultaten van de linker tabel zijn toch terug te vinden.
Zonder deze zullen we (met behulp van de WHERE clausule) de records ontbreken (dus niet vinden in het verslag), dan geïdentificeerd als NULL (in de SQL NULL wordt gedefinieerd als een soort van "speciale waarde", dat een afwezigheid van waarde identificeert ..)
Laten we de code te zien:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST FROM klanten LEFT JOIN Bestellingen ON = clienti.id ordini.id_cliente WAAR IS NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTHet resultaat is, in feite, de lijst van de namen van onze klanten die nog nooit iets gekocht.
| |
MS Access (Advanced)
Leer hoe het maken en beheren databases snel en gemakkelijk. Vanaf 29 €. |
| |
MySQL (Cursus)
Beheer van de open source database. Van 39 €. |
| |
SQL en Database (Cursus)
Maken en beheren van relationele databases. Van 39 €. |