Können wir Unterabfrage in der Klausel in MySQL verwenden??

Können wir Unterabfrage in der Klausel in MySQL verwenden??
In MySQL ist eine Unterabfrage eine in der andere Anfrage verschachtelte Abfrage, wie sie "EINFÜGUNG","WÄHLEN","LÖSCHEN", oder "AKTUALISIEREN”Aussagen. Zusätzlich kann eine Unterabfrage innerhalb der anderen Abfrage verschachtelt und als "bekannt"innere" Anfrage. Andererseits wird die Abfrage, die die Unterabfrage hat, als "als" bezeichnet "äußere" Anfrage. Die innere Abfrage wird immer einzeln ausgeführt, und die äußere Abfrage hängt von den Ergebnissen der inneren Abfrage ab.

In dieser Beschreibung wird erörtert:

  • Können wir Unterabfrage in der Klausel in MySQL verwenden??
  • So verwenden Sie Unterabfragen in MySQL, wo Klausel?
  • So verwenden Sie die MySQL -Unterabfrage mit Vergleichsbetreibern in der Klausel?
  • So verwenden Sie die MySQL -Unterabfrage in der Klausel mit "in" oder "nicht in" Operatoren?

Können wir Unterabfrage in der Klausel in MySQL verwenden??

Ja, wir können die Unterabfrage in der “verwenden“WOKlausel in MySQL. Die Klausel "Wo" kann Datensätze extrahieren, die den angegebenen Bedingungen erfüllen.

Syntax
Die allgemeine Syntax der Unterabfrage WHERE Klausel ist unten aufgeführt:

Wählen Sie * von wo col1 = (Wählen Sie von wo aus) aus

Lassen Sie uns nun die Unterabfrage in der “verwenden“WOKlausel für besseres Verständnis!

Schritt 1: Zugriff auf MySQL
Stellen Sie zunächst eine Verbindung mit dem MySQL -Server her, indem Sie das ausführenMysqlAbfragen mit Benutzername und Standardkennwort:

Mysql -u root -p

Schritt 2: Datenbanken anzeigen
Verwenden Sie dann das “ZEIGENBefehl, um alle Datenbanken aufzulisten:

Datenbanken anzeigen;

Wir haben die "ausgewählt"mynewdbDatenbank für einen weiteren Prozess:

Schritt 3: Datenbank ändern
Leiten Sie die "VERWENDEN”Anweisung zum Ändern der Datenbank:

Benutze mynewdb;

Schritt 4: Datenbanktabelle anzeigen
Führen Sie nun das aus “ausWÄHLEN”Erklärung zum Auflisten des Inhalts der Tabelle:

Aus dem Schüler auswählen;

Hier haben wir das aufgelistet "Student" Tisch:

In ähnlicher Weise listen Sie den Inhalt der “auf" auf "student_marks" Tisch:

Wählen Sie * aus student_marks;

Jetzt werden wir das anwenden “WOKlausel mit Unterabfragen in der oben aufgeführten Tabelle, um die gewünschten Datensätze zu erhalten.

So verwenden Sie Unterabfragen in MySQL, wo Klausel?

Führen Sie das ausWÄHLEN”Aussage mit einer“WOKlausel und “WÄHLEN”Aussage als Unterabfrage:

Wählen Sie FirstName, City vom Schüler, wobei STD = (STD aus dem Schüler auswählen, wo Lastname = "Khan" auswählen);

Hier:

  • WÄHLENAnweisung wird verwendet, um Daten aus Datenbanken auszuwählen.
  • FirstName, Stadt”Sind die Tabellenspalten.
  • AUSKlausel wird verwendet, um einige Zeilen aus der Tabelle zu extrahieren.
  • StudentIst unser Tabellenname.
  • WODie Klausel wird zur Filterdatensätze verwendet, die festgelegte Bedingungen erfüllen.
  • StdIst der Spaltenname, der die Studenten -IDs enthält.
  • Lastname = 'Khan'Ist auch unsere Tabellenspalte.

Im obigen Befehl wird zunächst die Unterabfrage ausgeführt. Danach wird die äußere Abfrage ausgeführt. Gemäß der bereitgestellten Ausgabe erfüllt nur ein Datensatz die angegebene Bedingung:

So verwenden Sie die MySQL -Unterabfrage mit Vergleichsbetreibern in der Klausel?

Wir können auch verschiedene Vergleichsoperatoren verwenden, um ein einzelnes Ergebnis zu vergleichen, das von der Unterabfrage und dem Ausdruck im “zurückgegeben wirdWO”Klausel. Diese Vergleichsbetreiber sind “>" größer als, "=”Gleich und“<" weniger als.

Beispiel 1: Verwenden Sie ">" größer als der Vergleichsoperator in "Wo" -Klausel mit Unterabschnitt
Der unterbewertete Befehl gibt die Aufzeichnungen der Schüler zurück, deren Markierungen höher sind als “70”Verwenden der Unterabfrage:

Wählen Sie * aus student_marks wobei STD in (Wählen Sie STD aus student_marks, wobei Marke> 70);

In dieser Abfrage:

  • Erstens werden die Aufzeichnungen der Schüler festgelegt, deren Markierungen oben sind “70”Verwenden der Unterabfrage.
  • Danach gibt die äußere Abfrage die Markierungen mit Details zurück, deren Student -IDs sich im Ergebnis der Ergebnisse befinden, die von der ausgeführten Unterabfrage zurückgegeben werden:

Beispiel 2: Verwenden “<” Less than Comparison Operator in “WHERE” Clause with Subquery
Der folgende Befehl gibt die Details der Schüler zurück, deren Markierungen geringer sind als “70”Verwenden der Unterabfrage in“WOKlausel:

Wählen Sie * aus student_marks wobei STD in (Wählen Sie STD aus student_marks where Marks aus < 70);

Nach der ausgeführten Erklärung hat nur ein Schüler weniger als “70Markierungen:

Beispiel 3: Verwenden Sie "=" gleicher Vergleichsoperator in der Klausel "Wo" mit Unterabfrage
In ähnlicher Weise erhält der folgende Befehl die Details der Schüler, deren Markierungen gleich sind “78" Verwendung der "WÄHLEN”Aussage als Unterabfrage:

Wählen Sie * aus student_marks wobei STD in (SELECT STD aus student_marks wobei Marke = 78);

So verwenden Sie die MySQL -Unterabfrage in der Klausel mit "in" oder "nicht in" Operatoren?

Wenn die angegebene Unterabfrage mehrere Werte zurückgibt, müssen wir die verwendenWO”Klausel mit der“IN" oder "NICHT IN" Operator.

Angenommen, wir haben eine Tabelle mit dem Namen “StudentDas enthält die folgenden Daten:

Der "student_marksDie Tabelle enthält die folgenden Aufzeichnungen:

Beispiel 1: Verwenden Sie den Operator "nicht in" in der Klausel "Wo" mit Unterabfrage
Angenommen, wir haben eine Tabelle mit dem Namen “Student"Das enthält die Daten des Schülers, wie z."Vorname","Familienname, Nachname","Stadt","Fester WohnsitzUnd weitere Details. Wir wollen den "FirstName" und "City" aus dem "bekommen"Student"Tabelle, in der Student -IDs in der Unterabfrage nicht existieren. In einer Unterabfrage erhalten wir die Aufzeichnung von Studenten mit unterschiedlichen Stadtnamen:

Wählen Sie FirstName, Stadt vom Studenten aus, in dem STD nicht in (Wählen Sie eine bestimmte Stadt aus dem Studenten aus);

Hier das "UNTERSCHEIDBARDie Anweisung wird verwendet, um nur verschiedene Werte zurückzugeben:

Beispiel 2: Verwenden Sie den Operator "in" in der Klausel "Wo" mit Unterabschnitt
Wir haben eine Tabelle mit dem Namen "student_marks"Das enthält die Daten des Schülers, wie z."Std","Vorname","Familienname, Nachname", Und "Markierungen”. Wir müssen den "FirstName" aus dem "bekommen"student_marks"Tisch, in der Schülermarkierungen in der Unterabfrage existieren. In einer Unterabfrage erhalten wir die Noten der Schüler, die sich voneinander unterscheiden.

Führen Sie dazu die unten aufgeführte Erklärung aus:

Wählen Sie STD, FirstName aus student_marks wob

Das dreht sich nur darum.

Abschluss

Ja, Sie können die Unterabfrage in MySQLs verwenden “WO”Klausel. Wir können Vergleichsoperatoren wie weniger als, gleich und größer als in der Abfrage "Wo". Zusätzlich die “IN" Und "NICHT INOperatoren können in der Unterabfrage verwendet werden. Diese Beschreibung hat die Abfrage in der Klausel "Wo" in MySQL gezeigt.