Mysql in Klausel

Mysql in Klausel

In diesem Tutorial werden die Verwendung des MySQL in Abfrage Um zu überprüfen, ob ein bestimmter Wert innerhalb einer Reihe von Werten liegt, ist dies nützlich, um einen Satz von oder Operatoren zu ersetzen.

Grundlegende Syntax

Der MySQL im Bediener ist einfach genug. Es funktioniert durch Überprüfung, ob ein Set eine Übereinstimmung mit dem angegebenen Wert hat.

Die allgemeine Syntax für die Abfrage lautet:

Wählen Sie col_names aus table_name wobei der Ausdruck in (value_sets);

In der obigen Syntax geben wir die auszuführende Funktion an. Es kann ein sein Wählen Sie, einfügen, löschen, aktualisieren, usw.

Als nächstes geben wir den Namen der Tabelle an, aus der die angegebene Aktion oben ausgeführt werden kann.

Der nächste Teil ist der Wo Klausel, wo wir den Ausdruck oder den zu bewertenden Wert angeben. Dies ist der Wert, den wir in den Wertensätzen auf der rechten Seite der testen In Klausel.

Auf der rechten Hand der Klausel geben wir die Werte an, aus denen nach dem Matching -Ausdruck gesucht werden soll.

Wenn der In Klausel Findet eine Übereinstimmung mit dem angegebenen Wert von Werten, gibt eine 1 zurück, die True und eine 0 angibt, was Falsch anzeigt.

MySQL in Klausel Beispiele

Hier sind Beispiele zur Veranschaulichung der In -Klausel:

Beispiel 1

Ein einfacher Anwendungsfall für die Im Bediener ist nach einem einzelnen Wert innerhalb eines Satzes zu überprüfen. Zum Beispiel können wir überprüfen, ob der Charakter 'A' ist in einer Reihe von Zeichen.

Wählen Sie 'a' in ('a', 'b', 'c', 'd');

Im obigen Beispiel überprüfen wir, ob der Charakter 'A' Ist In einer Reihe von ABCD -Zeichen.

Die obige Abfrage sollte 1 zurückgeben, wenn True true, wie in der folgenden Ausgabe gezeigt:

+-----------------------------+
| 'A' in ('a', 'b', 'c', 'd') |
+-----------------------------+
| 1 |
+-----------------------------+
1 Zeile in Set (0.00 Sek.)

Beispiel 2

Ein ähnlicher Fall gilt, wenn der Wert nicht in einer Reihe von Werten liegt. Zum Beispiel wird die folgende Abfrage 0 oder falsch zurückgegeben.

Wählen Sie 'z' in ('a', 'b', 'c', 'd');

Da Z nicht im Set ist, gibt die Anweisung wie gezeigt false zurück:

+-----------------------------+
| 'Z' in ('a', 'b', 'c', 'd') |
+-----------------------------+
| 0 |
+-----------------------------+

Beispiel 3

Lassen Sie uns das veranschaulichen In Abfrage mit einem praktischeren Beispiel. Nehmen wir den Schauspielertisch aus dem Beispiel Sakila -Datenbank.

Wählen Sie * aus der Akteurlimit 10; +----------+------------+--------------+---------------------+
| Actor_id | First_Name | last_name | last_update |
+----------+------------+--------------+---------------------+
| 1 | Penelope | Guiness | 2006-02-15 04:34:33 |
| 2 | Nick | Wahlberg | 2006-02-15 04:34:33 |
| 3 | Ed | Chase | 2006-02-15 04:34:33 |
| 4 | Jennifer | Davis | 2006-02-15 04:34:33 |
| 5 | Johnny | Lollobrigida | 2006-02-15 04:34:33 |
| 6 | Bette | Nicholson | 2006-02-15 04:34:33 |
| 7 | Gnade | Mostel | 2006-02-15 04:34:33 |
| 8 | Matthew | Johansson | 2006-02-15 04:34:33 |
| 9 | Joe | Swank | 2006-02-15 04:34:33 |
| 10 | Christlich | Giebel | 2006-02-15 04:34:33 |
+----------+------------+--------------+---------------------+

In der obigen Beispieltabelle haben wir die Spalten Actor_id, First_name, Last_name und last_update.

Wir können die verwenden In Abfrage Um nur die Spalten zu erhalten, in denen der Vorname ein Satz von Werten ist.

Betrachten Sie die folgende Abfrage:

Wählen Sie * vom Schauspieler aus, wo First_Name in ('ed', 'bette', 'grace', 'John', 'Nick');

Die obige Abfrage sollte die Spalten nur für die angegebenen Akteure zurückgeben. Ein Beispielergebnis ist unten:

+----------+------------+-----------+---------------------+
| Actor_id | First_Name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 2 | Nick | Wahlberg | 2006-02-15 04:34:33 |
| 3 | Ed | Chase | 2006-02-15 04:34:33 |
| 6 | Bette | Nicholson | 2006-02-15 04:34:33 |
| 7 | Gnade | Mostel | 2006-02-15 04:34:33 |
| 44 | Nick | Stallone | 2006-02-15 04:34:33 |
| 136 | Ed | Mansfield | 2006-02-15 04:34:33 |
| 166 | Nick | Degeneres | 2006-02-15 04:34:33 |
| 179 | Ed | Guiness | 2006-02-15 04:34:33 |
| 192 | John | Suvari | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+

Beispiel 4

Wir können auch die verwenden Im Bediener nach numerischen Werten zu überprüfen. Lassen Sie uns Dinge ändern und die Filmtabelle aus dem verwenden Sakila -Datenbank.

Angenommen, wir wollen nur die Filme bekommen, in denen die Rental_duration beträgt 7.

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

Die obige Beispielabfrage sollte die Spalten zurückgeben, in denen die miete_duration gleich 7 ist.

+---------+------------------+-----------------+
| film_id | Titel | Rental_duration |
+---------+------------------+-----------------+
| 3 | Anpassungslöcher | 7 |
| 27 | Anonymer Mensch | 7 |
| 36 | Argonauten Town | 7 |
| 70 | Bikini -Kreditnehmer | 7 |
| 78 | Blackout Private | 7 |
+---------+------------------+-----------------+
5 Zeilen im Set (0.00 Sek.)

Beispiel 5 - Negation

MySQL liefert auch eine Negation für die Im Bediener. Um es zu verwenden, fügen Sie die hinzu Nicht Schlüsselwort vor dem in in als:

Wählen Sie * aus table_name, wobei der Ausdruck nicht in (Werte);

Lassen Sie uns beispielsweise die Filme erhalten, die den Brief S nicht in den Titel enthalten.

Wählen Sie Film_ID, Titel, Rental_duration aus dem Film, wobei 's' nicht in (Titel) Limit 5;

Eine Beispielausgabe ist unten:

+---------+------------------+-----------------+
| film_id | Titel | Rental_duration |
+---------+------------------+-----------------+
| 1 | Akademie Dinosaurier | 6 |
| 2 | Ace Goldfinger | 3 |
| 3 | Anpassungslöcher | 7 |
| 4 | Affair Vorurteile | 5 |
| 5 | Afrikanisches Ei | 6 |
+---------+------------------+-----------------+
5 Zeilen im Set (0.00 Sek.)

Abschließend

In diesem Artikel haben wir uns auf die Verwendung konzentriert MySQL im Bediener Um festzustellen, ob ein Wert innerhalb einer Reihe von Werten liegt. Dies kann dazu beitragen, geketten zu ersetzen Oder Betreiber, Die Abfrage lesbarer und einfacher zu verwalten machen.