Mysql w klauzuli

Mysql w klauzuli

Ten samouczek omówi za pomocą Mysql w zapytaniu Aby sprawdzić, czy określona wartość znajduje się w zestawie wartości, co jest przydatne w wymianie zestawu lub operatorów.

Podstawowa składnia

MySQL w operatorze jest dość proste. Działa, sprawdzając, czy zestaw ma dopasowanie do określonej wartości.

Ogólna składnia zapytania to:

Wybierz nazwy col_names z nazwy Stole_name, gdzie wyrażenie w (wartość_sets);

W powyższej składni określamy funkcję do wykonania. To może być Wybierz, wstaw, usuń, aktualizuj, itp.

Następnie określamy nazwę tabeli, z której należy wykonać określone działanie powyżej.

Następna część to Gdzie klauzula, gdzie określamy wyrażenie lub wartość do oceny. Jest to wartość, którą testujemy w zestawach wartości po prawej stronie W klauzuli.

Po prawej ręce klauzuli określamy wartości, z których należy wyszukać pasujące wyrażenie.

Jeśli W klauzuli Znajduje dopasowanie na określonym zestawie wartości, zwraca 1, wskazując prawdziwe, a 0, wskazując false.

Mysql w klauzuli przykłady

Oto przykłady ilustrujące klauzulę:

Przykład 1

Prosty przypadek użycia dla W operatorze jest sprawdzenie pojedynczej wartości w zestawie. Na przykład możemy sprawdzić, czy znak 'A' jest w zestawie znaków.

Wybierz „A” w („A”, „B”, „C”, „D”);

W powyższym przykładzie sprawdzamy, czy znak 'A' Jest W zestawie znaków ABCD.

Powyższe zapytanie powinno zwrócić 1, jeśli jest prawdziwe, jak pokazano na wyniku poniżej:

+-----------------------------+
|. „A” w („A”, „B”, „C”, „D”) |
+-----------------------------+
|. 1 |
+-----------------------------+
1 wiersz w zestawie (0.00 s)

Przykład 2

Podobny przypadek ma zastosowanie, jeśli wartość nie ma w zestawie wartości. Na przykład zapytanie poniżej zwróci 0 lub false.

Wybierz „Z” w („A”, „B”, „C”, „D”);

Ponieważ Z nie ma w zestawie, instrukcja zwraca false, jak pokazano:

+-----------------------------+
|. „Z” w („A”, „B”, „C”, „D”) |
+-----------------------------+
|. 0 |
+-----------------------------+

Przykład 3

Zilustrujmy W zapytaniu z bardziej praktycznym przykładem. Weźmy stolik aktora z Przykładowa baza danych Sakila.

Wybierz * z limitu aktora 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 | JASIO | Lollobrigida | 2006-02-15 04:34:33 |
|. 6 | Bette | Nicholson | 2006-02-15 04:34:33 |
|. 7 | Grace | 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 | Christian | Gable | 2006-02-15 04:34:33 |
+----------+------------+--------------+---------------------+

W powyższej tabeli przykładowej mamy kolumny aktor_id, pierwsza nazwa_namalna, nazwa last_name i last_update.

Możemy użyć W zapytaniu Aby uzyskać tylko kolumny, w których imię to zestaw wartości.

Rozważ pytanie poniżej:

Wybierz * z aktora, gdzie First_name in („ed”, „bette”, „Grace”, „John”, „Nick”);

Powyższe zapytanie powinno zwrócić kolumny tylko dla określonych aktorów. Przykładowy wynik znajduje się poniżej:

+----------+------------+-----------+---------------------+
|. 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 | Grace | 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 |
+----------+------------+-----------+---------------------+

Przykład 4

Możemy również użyć W operatorze Aby sprawdzić wartości liczbowe. Zmieńmy sytuację i użyj stołu filmowego z Baza danych Sakila.

Załóżmy, że chcemy zdobyć tylko filmy, w których Rental_duration wynosi 7.

Wybierz Film_ID, tytuł, Rental_Duration z filmu, gdzie Rental_Duration w (7) limit 5;

Przykładowe zapytanie powyżej powinno zwrócić kolumny, w których rentowność jest równa 7.

+---------+------------------+-----------------+
|. film_id | Tytuł | Rental_duration |
+---------+------------------+-----------------+
|. 3 | Adaptacyjne dziury | 7 |
|. 27 | Anonimowy człowiek | 7 |
|. 36 | Argonauts Town | 7 |
|. 70 | Kredytobiorcy bikini | 7 |
|. 78 | Blackout Private | 7 |
+---------+------------------+-----------------+
5 wierszy w zestawie (0.00 s)

Przykład 5 - Negacja

Mysql zapewnia również negację dla W operatorze. Aby go użyć, dodaj Nie słowo kluczowe przed in Jak:

Wybierz * z nazwy_bolita, gdzie wyrażenie nie w (wartości);

Na przykład, zdobądźmy filmy, które nie zawierają litera s w tytule.

Wybierz Film_id, tytuł, Rental_duration z filmu, w którym „nie” (tytuł) limit 5;

Przykładowe dane wyjściowe znajduje się poniżej:

+---------+------------------+-----------------+
|. film_id | Tytuł | Rental_duration |
+---------+------------------+-----------------+
|. 1 | Akademia dinozaur | 6 |
|. 2 | Ace Goldfinger | 3 |
|. 3 | Adaptacyjne dziury | 7 |
|. 4 | Uprzedzenie romansowe | 5 |
|. 5 | Jajko afrykańskie | 6 |
+---------+------------------+-----------------+
5 wierszy w zestawie (0.00 s)

W zamknięciu

W tym artykule skupiliśmy się na użyciu MySQL w operatorze Aby ustalić, czy wartość znajduje się w zestawie wartości. Może to pomóc w wymianie przyrzędzia Lub operatorzy, Uczynienie zapytania bardziej czytelnym i łatwiejszym w zarządzaniu.