..
Wer weiß, was SQL-Kenntnisse der JOIN ist. In unserem Führer und andere Artikel, die wir erklären, wie das und JOIN, wie man Beziehungen zwischen verschiedenen Tabellen in einer Datenbank zu erstellen.
Die häufigste Forderung wird durch das Instrument zufrieden JOIN von Spielen zwischen zwei Tabellen, in welchem Fall der JOIN-Klausel INNER hilft herauszufinden, welche genau verortet und gibt die Felder, die die Korrespondenz innerhalb von zwei oder mehr beteiligten Tabellen gesucht erfüllen in der JOIN.
Viel weniger intuitiv ist die Notwendigkeit, die Felder, die sonst nicht über ein Spiel in der JOIN zu identifizieren.
Nehmen wir ein Beispiel.
Angenommen, Sie haben eine Datenbank mit einer E-Commerce besteht aus nur zwei Tabellen zu verwalten:
Zur Erfüllung der ersten Voraussetzung ist natürlich, ganz einfach:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST FROM Kunden INNER JOIN Bestellungen ON = clienti.id ordini.id_cliente ORDER BY ASC CUSTOMER.LASTund bisher kein Problem.
Aber wie können wir tun, um das Ergebnis umzukehren?
Nun ...
Erstens, nicht mit einem LEFT JOIN, INNER JOIN, aber im Hinblick auf die Suche nach einem Spiel nicht voll ist, aber teilweise, wobei jedoch ergibt sich aus der linken Tabelle ohnehin zurückgegeben werden.
Ohne diese werden wir für die Suche (mit der WHERE-Klausel) fehlende Datensätze (dh nicht in den Bericht gefunden) und dann als NULL (in SQL NULL ist als eine Art "besonderen Wert", dass ein Fehlen von Wert identifiziert ermittelt, definiert ..)
Lassen Sie den Code sehen:
SELECT CUSTOMER.FIRST, CUSTOMER.LAST FROM Kunden LEFT JOIN Bestellungen ON = clienti.id ordini.id_cliente WHERE IS NULL ordini.id_cliente ORDER BY ASC CUSTOMER.LASTDas Ergebnis ist in der Tat, die Liste der Namen von Kunden, die noch nie etwas gekauft haben.
| |
MS Access (Course)
Erfahren Sie, wie das Erstellen und Verwalten von Datenbanken einfach und schnell. Ab 29 €. |
| |
MySQL (Kurs)
Management von Open-Source-Datenbank. Ab 39 €. |
| |
SQL-und Datenbank-(Kurs)
Erstellen und Verwalten von relationalen Datenbanken. Ab 39 €. |