MySQL in Abfrage

MySQL in Abfrage
In der Welt der Datenbanken sind Abfragen eines der ständigen Dinge, die wir alle implementieren. Obwohl SQL Möglichkeiten und Konventionen für die Durchführung spezifischer Abfragen hat, müssen wir manchmal benutzerdefinierte Bedingungen festlegen.

Einer der beliebten und nützlichen bedingten Bediener in SQL ist der Operator. Wenn wir den In -Operator verwenden, können wir einen booleschen Wert erhalten, wenn sich ein bestimmter Wert in einer Liste befindet.

In diesem Tutorial führt Sie durch den Operator und wie Sie es verwenden, um maßgeschneiderte Bedingungen für SQL -Abfragen zu erstellen.
Bevor wir beginnen, gehen wir davon aus.

Betrachten Sie die Sakila -Datenbank aus der unten angegebenen Ressource, um eine Beispielversion einer MySQL -Datenbank zu erhalten:

https: // dev.Mysql.com/doc/index-other.html

Grundnutzung

Wenn Sie nicht vertraut sind, können Sie in MySQL in Anweisung feststellen, ob sich ein Wert innerhalb einer Reihe von Werten befindet. Es gibt hauptsächlich einen booleschen Wert mit 1 (true) zurück, wenn sich der Wert im Satz und 0 (Falsch) befindet, wenn der Wert nicht im Satz liegt.

Die allgemeine Syntax der In -Aussage lautet:

Wählen Sie column_name aus table_name wob

Wie Sie aus der obigen Syntax sehen können, wird die Werteliste mit Kommas im In -Operator getrennt.

Sie können entweder einen Ausdruck oder einen Spaltennamen mit dem In -Operator in der WHERE -Anweisung verwenden.

NOTIZ: Vermeiden Sie es, angegebene Werte wie Zeichenfolgen und nicht angesprochene Werte wie Zahlen zu kombinieren, da sich der Vergleich für verschiedene Typen unterscheidet. Ein Beispiel für die ungültige Verwendung der In -Abfrage ist unten dargestellt:

Wählen Sie Column_Name aus table_name wobei Value1 in („A“, 10, 10);

Sobald eine Abfrage wie die oben genannte ausgeführt wird:

  1. Die Werte werden basierend auf dem Typ der angegebenen Spalte oder des Expressionsergebnisses bewertet.
  2. Dann werden die Werte sortiert, und schließlich wird eine Suche mit einer binären Suche abgeschlossen. Dies stellt sicher, dass die Suche bei minimalen Fehlern schnell ist.

Nullwerte geben einen Nullwert zurück.

Beispiel Anwendungsfall

Lassen Sie uns veranschaulichen, wie Sie den Operator verwenden, um Beispiele zu verwenden.

Beginnen wir mit einem einfachen Vergleich, der keine Datenbank erfordert. Betrachten Sie die folgende Erklärung:

Wählen Sie 10 in (5, 15, 25, 35);

Wenn Sie die obige Abfrage in einer MySQL -Shell ausführen, erhalten Sie 0 (Falsch) und geben an, dass der Wert 10 nicht in der angegebenen Wertemenge liegt.

MySQL> Wählen Sie 10 in (5, 15, 25, 35);
+-----------------------+
| 10 in (5, 15, 25, 35) |
+-----------------------+
| 0 |
+-----------------------+
1 Zeile in Set (0.00 Sek.)

Der Fall ist auch der Fall, wenn der Wert, den wir suchen, im Satz ist. In diesem Fall wird ein 1 (True) wie in der folgenden Abfrage dargestellt:

Wählen Sie 35 in (5, 15,25,35);

Die Ausgabe erfolgt wie unten gezeigt:

MySQL> Wählen Sie 35 in (5, 15,25,35);
+---------------------+
| 35 in (5, 15,25,35) |
+---------------------+
| 1 |
+---------------------+
1 Zeile in Set (0.00 Sek.)

Angenommen, Sie haben eine Tabelle namens Film (siehe Sakila -Datenbank) mit Zeilen wie unten gezeigt:

+----------------------+
| Feld |
+----------------------+
| film_id |
| Titel |
| Beschreibung |
| Release_year |
| Language_id |
| Original_Language_id |
| Rental_duration |
| Rental_rate |
| Länge |
| Ersatz_Cost |
| Bewertung |
| Special_Features |
| last_update |
+----------------------+

Wir verwenden den In -Operator, um die Titel mit einer Mietdauer von 3 zu ermitteln, wie in der folgenden Abfrage gezeigt:

Wählen Sie Film_ID, Titel, Rental_Duration, Bewertung aus dem Film, bei dem Rental_duration in (3) Begrenzung 5;

Sobald die obige Abfrage ausgeführt wird, erhalten Sie alle Filme (limitiert auf 5), wo die miete_duration gleich 3 ist. Hier ist der Beispielausgang, wie unten gezeigt:

MySQL> SELECT FILM_ID, TITEL, RENTAL_DIERUNG, Bewertung aus Film, wobei Rental_duration in (3) Begrenzung 5;
+---------+-----------------+-----------------+--------+
| film_id | Titel | Rental_duration | Bewertung |
+---------+-----------------+-----------------+--------+
| 2 | Ace Goldfinger | 3 | Pg-13 |
| 6 | Agent Truman | 3 | Pg |
| 9 | Alabama Devil | 3 | Pg-13 |
| 17 | Alleine Reise | 3 | R |
| 21 | Amerikanischer Zirkus | 3 | R |
+---------+-----------------+-----------------+--------+

Wie Sie aus dem obigen Beispiel sehen können, können wir den In -Operator verwenden, um unser Ergebnis anzupassen.

Abschluss

Dieses Tutorial hat Ihnen gezeigt.