PostgreSQL: Verwenden Sie die existierende Klausel
Wenn in einer anderen SQL -Abfrage eine SQL -Abfrage verwendet wird, wird sie als Unterabfrage bezeichnet. Die komplizierte Abfrage kann leicht geschrieben werden, indem eine große Abfrage in mehrere Unterabfragen geteilt wird. Existiert Klausel wird mit einer Unterabfrage in einer SQL -Anweisung verwendet. Die Ausgabe von existieren hängt von der Anzahl der von der Unterabfrage zurückgegebenen Datensätze ab, hängt jedoch nicht von den Werten der Datensätze ab. Das Ergebnis von existieren wird wahr, wenn die zugehörige Unterabfrage mindestens eine Zeile zurückgibt. Wie Sie verwenden können, existiert und keine Klausel in Auswahl, Einfügen, Aktualisieren und Löschen von Anweisungen werden in diesem Tutorial anhand verschiedener Beispiele angezeigt.
Existiert Klauselsyntax:
Wählen Sie Col1, Col2, Col3…Erstellen Sie drei benannte Tabellen Firma, Artikel Und Kunden und einige Daten einfügen. Führen Sie die folgende Auswahlabfrage aus, um den Inhalt dieser Tabellen anzuzeigen.
Aus der Firma auswählen;Beispiel-1: Verwenden von existierenden Klausel in der Auswahlabfrage
(a) existiert
In der folgenden Abfrage werden Datensätze abgerufen Artikel Tabelle basierend auf Unternehmen Tisch. Die Unterabfrage sucht alle Datensätze von Unternehmen Tisch wo company_id von Unternehmen Tabelle ist gleich company_id von Artikel Tabelle und der Wert von Telefon Feld ist nicht leer. Es gibt einen Rekord in Unternehmen Tabelle, die keine Telefonnummer hat und dieser Datensatz wird aus der Ausgabe weggelassen.
Wählen Sie item_id, Name, MengeAusgang:
Die Aufzeichnung von LG hat keinen Telefoneintrag in der Firma -Tabelle. Es wird also nicht in der Ausgabe erscheinen.
(b) nicht existiert
Es gibt keine existierende Klausel vorhanden von existierenden Klausel. Die folgende Abfrage holt diese Datensätze ab Artikel Tabelle Wenn die Unterabfrage falsch zurückgibt.
Wählen Sie item_id, Name, MengeAusgang:
Es gibt keine Aufzeichnungen in Unternehmen Tisch wo Webadresse ist Null. Die Ausgabe der Unterabfrage ist also für alle Datensätze falsch und alle Datensätze der Element -Tabelle werden abgerufen.
Beispiel-2: Verwenden von existierenden Klausel in Insert-Abfrage
Gemäß den folgenden Abfragen werden die Daten in eingefügt Artikel Tabelle wann company_id von beiden Unternehmen Und Kunden Tabellen sind gleich.
In Elemente einfügenAusgang:
Es gibt drei Einträge für company_id In Kundentabellen mit Werten sind die Werte 1 Und 2. Die Unterabfrage wird also dreimal true und drei Datensätze werden eingefügt.
Führen Sie die Abfrage aus, um den Inhalt der Elemente -Tabelle zu überprüfen.
Beispiel-3: Verwenden existieren Klausel in der Update-Abfrage
Die folgende Abfrage aktualisiert die Datensätze von Artikel Tisch wo company_id ist 1 und die Unterabfrage kehrt wahr zurück.
Elemente aktualisierenAusgang:
Hier kehrt die Unterabfrage dreimal und dreimal zurück und kehrt er company_id ist 1 für drei Datensätze. Nach Ausführung der Update -Abfrage werden drei Datensätze aktualisiert.
Führen Sie die Abfrage aus, um den Inhalt der Elemente -Tabelle zu überprüfen.
Beispiel-4: Verwenden existieren Klausel in Löschen von Abfragen
Die folgende Abfrage löscht diese Datensätze von Artikel Tisch wo company_id ist 1 und die Unterabfrage kehrt wahr zurück.
Aus Elementen löschenAusgang:
Es gibt drei Datensätze mit Wert 1 von company_id und ein Datensatz hat den Namenswert "Nicht zuweisen". Die Bedingung gilt also dreimal und löscht drei Datensätze von Artikel Tisch.
Führen Sie die Abfrage aus, um den Inhalt der Elemente -Tabelle zu überprüfen.
Hoffe, Sie haben eine klare Vorstellung von der Verwendung von existierenden Klausel in SQL -Abfrage, nachdem Sie dieses Tutorial gelesen haben.