Podsumowanie: w tym samouczku dowiesz się, jak używać operatora PostgreSQL IN w klauzuli WHERE, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście.
PostgreSQL w składni operatora
używasz operatora IN w klauzuli WHERE, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście wartości.
składnia operatora IN wygląda następująco:
Code language: SQL (Structured Query Language) (sql)
operator IN zwraca true, jeśli value pasuje do dowolnej wartości z listy, tzn., value1 , value2 , …
lista wartości może być listą wartości literalnych, takich jak liczby, ciągi znaków lub wynikiem polecenia SELECT w ten sposób:
Code language: SQL (Structured Query Language) (sql)
zapytanie wewnątrz nawiasów nazywa się podzapytaniem, które jest zapytaniem zagnieżdżonym wewnątrz innego zapytania. Zauważ, że dowiesz się więcej o subquery w kolejnym tutorialu
PostgreSQL w przykładach operatorów
Załóżmy, że chcesz poznać informacje o wynajmie o ID klienta 1 i 2, możesz użyć operatora IN w klauzuli WHERE w następujący sposób:
poniższe zapytanie używa operatorów equal (=) i OR zamiast operatora IN. Jest on równoważny powyższemu zapytaniu:
zapytanie, które używa operatora IN jest krótsze i bardziej czytelne niż zapytanie, które używa operatorów equal (=) i OR. Ponadto PostgreSQL wykonuje zapytanie za pomocą operatora IN znacznie szybciej niż to samo zapytanie, które używa listy operatorów OR.
PostgreSQL nie jest operatorem
możesz połączyć operator IN z operatorem NOT, aby wybrać wiersze, których wartości nie pasują do wartości na liście.
na przykład poniższe oświadczenie stwierdza, że wszystkie wypożyczenia z identyfikatorem klienta nie są 1 lub 2.
podobnie jak operator IN, możesz użyć operatorów not equal (<>) i AND, aby napisać operator NOT IN:
to zapytanie zwraca to samo wyjście, co powyższe zapytanie, które używa operatora NOT IN.
PostgreSQL IN Z subquery
poniższe zapytanie zwraca listę ID klienta z tabeli rental z datą zwrotu jest 2005-05-27:
ponieważ to zapytanie zwraca listę wartości, możesz użyć go jako wejścia operatora IN w ten sposób:
aby uzyskać więcej informacji na temat subquery, sprawdź samouczek subquery.
w tym samouczku nauczyłeś się używać operatora PostgreSQL IN, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście wartości.
- czy ten samouczek był pomocny ?
- YesNo