SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite-Linksverknüpfung

Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite LEFT JOIN verwenden -Klausel zum Abfragen von Daten aus mehreren Tabellen.

Einführung in SQLite LEFT JOIN Klausel

Ähnlich dem INNER JOIN -Klausel, der LEFT JOIN -Klausel ist eine optionale Klausel von SELECT Erklärung. Sie verwenden den LEFT JOIN -Klausel zum Abfragen von Daten aus mehreren verknüpften Tabellen.

Angenommen, wir haben zwei Tabellen:A und B.

  • A hat m- und f-Spalten.
  • B hat n und f Spalten.

Verbindung zwischen A und B mit LEFT JOIN durchführen -Klausel verwenden Sie die folgende Anweisung:

SELECT
	a,
	b
FROM
	A
LEFT JOIN B ON A.f = B.f
WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

Der Ausdruck A.f = B.f ist ein bedingter Ausdruck. Neben dem Gleichheitsoperator (=) können Sie andere Vergleichsoperatoren verwenden, wie z. B. größer als (>), kleiner als (<) usw.

Die Anweisung gibt eine Ergebnismenge zurück, die Folgendes enthält:

  1. Zeilen in Tabelle A (linke Tabelle), die entsprechende Zeilen in Tabelle B haben.
  2. Zeilen in Tabelle A und die Zeilen in Tabelle B mit NULL gefüllt Werte, falls die Zeile aus Tabelle A keine entsprechenden Zeilen in Tabelle B hat.

Mit anderen Worten, alle Zeilen in Tabelle A werden in die Ergebnismenge aufgenommen, unabhängig davon, ob es übereinstimmende Zeilen in Tabelle B gibt oder nicht.

Falls Sie ein WHERE haben -Klausel in der Anweisung, die search_condition im WHERE -Klausel wird nach dem Abgleich des LEFT JOIN angewendet Klausel vervollständigt.

Siehe die folgende Abbildung des LEFT JOIN Klausel zwischen den A- und B-Tabellen.

Alle Zeilen in Tabelle A sind in der Ergebnismenge enthalten.

Denn die zweite Zeile (a2,2) hat keine entsprechende Zeile in Tabelle B, den LEFT JOIN -Klausel erstellt eine falsche Zeile gefüllt mit NULL .

Das folgende Venn-Diagramm veranschaulicht den LEFT JOIN Klausel.

Es wird darauf hingewiesen, dass LEFT OUTER JOIN ist dasselbe wie LEFT JOIN .

SQLite LEFT JOIN Beispiele

Wir verwenden die artists und albums Tabellen in der Beispieldatenbank zur Demonstration.

Ein Album gehört einem Künstler. Ein Künstler kann jedoch null oder mehr Alben haben.

Um Künstler zu finden, die keine Alben haben, verwenden Sie den LEFT JOIN Klausel wählen wir Künstler und ihre entsprechenden Alben aus. Wenn ein Künstler keine Alben hat, der Wert von AlbumId Spalte ist NULL.

Um zuerst die Künstler anzuzeigen, die keine Alben haben, haben wir zwei Möglichkeiten:

  • Verwenden Sie zuerst ORDER BY -Klausel, um die Zeilen aufzulisten, deren AlbumId ist NULL Werte zuerst.
  • Zweitens verwenden Sie WHERE -Klausel und IS NULL Operator, um nur Künstler aufzulisten, die keine Alben haben.

Die folgende Anweisung verwendet den LEFT JOIN -Klausel mit dem ORDER BY Klausel.

SELECT
   artists.ArtistId, 
   AlbumId
FROM
   artists
LEFT JOIN albums ON
   albums.ArtistId = artists.ArtistId
ORDER BY
   AlbumId;Code language: SQL (Structured Query Language) (sql)

Probieren Sie es aus

Die folgende Anweisung verwendet den LEFT JOIN -Klausel mit dem WHERE Klausel.

SELECT
   artists.ArtistId
   , AlbumId
FROM
   artists
LEFT JOIN albums ON
   albums.ArtistId = artists.ArtistId
WHERE
   AlbumId IS NULL;Code language: SQL (Structured Query Language) (sql)

Probieren Sie es aus

In diesem Tutorial haben Sie gelernt, wie Sie SQLite LEFT JOIN verwenden -Klausel zum Abfragen von Daten aus mehreren Tabellen.