Mysql w zapytaniu

Mysql w zapytaniu
W świecie baz danych zapytania są jedną z ciągłych rzeczy, które wszyscy wdrażamy. Chociaż SQL ma sposoby i konwencje do wykonywania określonych zapytań, czasami wymaga od nas ustalania niestandardowych warunków.

Jednym z popularnych i przydatnych operatorów warunkowych w SQL jest operator in. Korzystając z operatora, możemy uzyskać wartość logiczną, jeśli określona wartość znajduje się na liście.

Ten samouczek przeprowadzi Cię przez operatora w i jak go używać do tworzenia niestandardowych warunków dla zapytań SQL.
Zanim zaczniemy, zakładamy, że masz zainstalowany i skonfigurowany serwer MySQL w swoim systemie, a także masz przykładową bazę danych, nad którą możesz pracować.

Aby uzyskać przykładową wersję bazy danych MySQL, rozważ bazę danych Sakila z zasobu podanego poniżej:

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

Podstawowe użycie

Jeśli nie jesteś znany, MySQL w instrukcji pozwala ustalić, czy wartość znajduje się w zestawie wartości. Zwraca głównie wartość przypominającą boolean z 1 (true), jeśli wartość znajduje się w zestawie i 0 (false), jeśli wartość nie ma w zestawie.

Ogólna składnia stwierdzenia IN to:

Wybierz nazwę kolumnową z nazwy Table_name gdzie (wyrażenie | nazwa_pełna) w („wartość1, wartość2…)

Jak widać z powyższej składni, lista wartości jest oddzielona przecinkami wewnątrz operatora w.

Możesz użyć wyrażenia lub nazwy kolumny z operatorem IN wewnątrz instrukcji Where.

NOTATKA: Unikaj łączenia cytowanych wartości, takich jak ciągi i wartości niezachwiane, takie jak liczby, ponieważ porównanie różni się dla różnych typów. Przykład nieprawidłowego użycia zapytania IN pokazano poniżej:

Wybierz nazwę kolumny z nazwy Table_name Where Value1 w („A”, 10, 10);

Po wykonaniu zapytania jako powyższego:

  1. Wartości są oceniane na podstawie rodzaju określonego wyniku kolumny lub wyrażenia.
  2. Następnie wartości są sortowane, a na koniec wyszukiwanie jest zakończone za pomocą wyszukiwania binarnego. Zapewnia to, że wyszukiwanie jest szybkie z minimalnymi błędami.

Wartości zerowe zwracają wartość zerową.

Przykładowy przypadek użycia

Zilustrujmy, jak korzystać z operatora w przykładach.

Zacznijmy od prostego porównania, które nie wymaga bazy danych. Rozważ następujące stwierdzenie:

Wybierz 10 cali (5, 15, 25, 35);

Jeśli wykonasz powyższe zapytanie w powładzie MySQL, otrzymasz 0 (false), wskazując, że wartość 10 nie ma w dostarczonym zestawie wartości.

Mysql> Wybierz 10 cali (5, 15, 25, 35);
+-----------------------+
|. 10 w (5, 15, 25, 35) |
+-----------------------+
|. 0 |
+-----------------------+
1 wiersz w zestawie (0.00 s)

Sprawa jest również prawdziwa, jeśli wartość, której szukamy. W takim przypadku 1 (true) jest zwracane jak ilustrowane w pytaniu poniżej:

Wybierz 35 cali (5, 15,25,35);

Wyjście będzie jak pokazano poniżej:

Mysql> Wybierz 35 cali (5, 15,25,35);
+---------------------+
|. 35 in (5, 15,25,35) |
+---------------------+
|. 1 |
+---------------------+
1 wiersz w zestawie (0.00 s)

Załóżmy, że masz tabelę o nazwie Film (patrz baza danych Sakila) z rzędami, jak pokazano poniżej:

+----------------------+
|. Pole |
+----------------------+
|. film_id |
|. Tytuł |
|. Opis |
|. wydanie_year |
|. Language_id |
|. original_language_id |
|. Rental_duration |
|. Rental_rate |
|. długość |
|. zamiennik_cost |
|. Ocena |
|. Special_features |
|. last_update |
+----------------------+

Używamy operatora In, aby znaleźć tytuły, które mają czas wynajmu 3, jak pokazano w pytaniu poniżej:

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

Po wykonaniu powyższego zapytania otrzymasz wszystkie filmy (ograniczone do 5), w których rentowność jest równa 3. Oto wyjście próbki, jak pokazano poniżej:

MySQL> Wybierz film_id, tytuł, wynajęcie_duration, ocena z filmu, gdzie Rental_duration w (3) limit 5;
+---------+-----------------+-----------------+--------+
|. film_id | Tytuł | Rental_duration | Ocena |
+---------+-----------------+-----------------+--------+
|. 2 | Ace Goldfinger | 3 | PG-13 |
|. 6 | Agent Truman | 3 | PG |
|. 9 | Alabama Devil | 3 | PG-13 |
|. 17 | Sama podróż | 3 | R |
|. 21 | American Circus | 3 | R |
+---------+-----------------+-----------------+--------+

Jak widać z powyższego przykładu, możemy użyć operatora In, aby dostosować nasz wynik.

Wniosek

Ten samouczek pokazał, jak korzystać i wdrażać MySQL w operator, aby uzyskać dostosowane wyniki.