Wählen Sie * wo existiert - Mysql

Wählen Sie * wo existiert - Mysql
MySQL (bekannter RDBMs) kann große Datenmengen in seinen Datenbanken auf organisierte Weise speichern. In dieser Datenbank werden die Daten unter Verwendung verschiedener Abfragen gefiltert. Genauer, "Wählen Sie * wo existiertIst eine gemeinsame Abfrage von MySQL, die das „die“ verwendetExistiert" Operator. Der "EXISTIERENDer Bediener gibt die Ausgabe nur dann aus der Tabelle zurück, wenn die Unterabfrage nach Überprüfung einer angegebenen Bedingung eine oder mehrere Datensätze zurückgibt.

Dieser Beitrag wird die Verwendung von “besprechen“Wählen Sie * wo existiert”.

So verwenden Sie in MySQL "Where Exists" in MySQL?

Lassen Sie uns die Syntax des "Wählen Sie * wo existiert" Anfrage:

Wählen Sie * von wo aus existiert
(Wählen Sie * aus, wohin Zustand);

Hier:

  • Der "WÄHLENDie Anweisung wird verwendet, um die Datensätze zu filtern.
  • Der "*Ist ein Wildcard -Zeichen, das alle Spalten darstellt.
  • Der "WOKlausel ruft die Daten ab, die eine bestimmte Bedingung erfüllen.
  • Der "ExistiertDer Bediener gibt Ergebnisse zurück, wenn die Unterabfrage nach Überprüfung eines bestimmten Zustands eine oder mehrere Zeilen zurückgibt.

Methode 1: Verwenden Sie mit einer einfachen Unterabfrage "Where existiert", wo es existiert "?

Sehen wir uns ein Beispiel an, um Daten aus dem zu filtern "Produkt"Tabelle, wenn die Unterabfrage eine oder mehr als eine Aufzeichnung zurückgibt, indem Sie überprüft, ob das"Produkt ID" von dem "Befehl"Tabelle ist gleich dem"Ausweis" des "ProduktTabelle, diese Abfrage ausführen:

Wählen Sie * aus dem Produkt, wo existiert
(Wählen Sie * aus OrderItem, wo OrderItem.ProductId = Produkt.Ausweis);

Die Ausgabe enthält die Datensätze, die die angegebene Bedingung erfüllen:

Methode 2: Verwenden Sie mit dem logischen Operator und des relationalen Operator?

Mit dem existierenden Operator können die logischen und relationalen Operatoren wie „und“, „oder“, „=“, „“ in der Unterabfrage angegeben werden.

Zum Beispiel möchten Sie Daten aus der “extrahierenProduktTabelle, wenn die Unterabfrage ein Null -Ergebnis nicht zurückgibt, nachdem sie dies für die Datensätze überprüft haben, bei denen die “Ausweis" des "Produkt"Tabelle ist gleich dem"Produkt ID" des "Bestellungsartikel" Tisch UND Einzelpreis" ist gleich "22”:

Wählen Sie * aus dem Produkt, wo existiert
(Wählen Sie * aus OrderItem aus
Wo orderitem.ProductId = Produkt.ID und UnitPrice = 22);

Die Ausgabe enthält die gefilterten Datensätze:

Lassen Sie uns ein ähnliches Beispiel sehen, aber anstelle von “UNITPRICE = 22", schreiben "Einzelpreis < 6”:

Wählen Sie * aus dem Produkt, wo existiert
(Wählen Sie * aus OrderItem aus
Wo orderitem.ProductId = Produkt.ID und Unitprice < 6);

Die Ausgabe liefert die von der Abfrage erhaltenen Datensätze:

Methode 3: Verwenden Sie "WO SELECT * WO existiert" mit der Klausel „Limit“?

Der "Wählen Sie * wo existiert"Kann mit dem" verwendet werden "GRENZEKlausel, die die Anzahl der Zeilen für das Ergebnis definiert.

Zum Beispiel, wenn Sie nur 4 Zeilen der “extrahieren möchten“AnbieterTisch, wenn die “Ausweis" des "Anbieter"Tabelle ist gleich dem"Lieferanten ID" des "ProduktTabelle, verwenden Sie diese Abfrage:

Wählen Sie * aus dem Lieferanten, wo existiert
(Wählen Sie * aus dem Produkt, wo Produkt.Lieferierer = Lieferant.Id) Grenze 4;

Die Ausgabe zeigt nur „4“ Zeilen gemäß der jeweils "Limit" -Klausel angezeigt:

Abschluss

In MySQL, die “Wählen Sie * wo existiertAbfragen extrahiert die Datensätze, wenn die Unterabfrage eine oder mehr als ein Ergebnis basierend auf der angegebenen Bedingung zurückgibt. Die Bedingung kann jedoch mit logischen und relationalen Operatoren definiert werden. Der "GRENZEDie Klausel wird verwendet, um die Anzahl der Zeilen des Ausgangs anzugeben. Dieser Artikel hat den Abfragebutzung „Select * Where existiert“ gezeigt.