Klauzuli WHERE użyjesz gdy przy wyborze zakresu danych chcesz otrzymać wartości spełniające konkretny warunek. Warunkiem może być konkretna wartość liczbowa lub określone słowo lub wyrażenie.
Schemat użycia klauzuli WHERE
Schemat użycia klauzuli WHERE jest bardzo prosty.
1 |
SELECT nazwa_kolumny FROM nazwa_tabeli WHERE warunek; |
Tłumacząc dosłownie schemat: wybierz nazwę kolumny z konkretnej tabeli jeżeli warunek jest spełniony.
Operatory, których użycie rozszerza właściwości klazuli WHERE
Tyle wystarczy, aby używać klauzuli WHERE. Jednak musisz dodać jeszcze bardzo ważną informację dotyczącą operatorów. Operatorami są min. znaki +,-,*,/. Takie operatory każdy z nas używa praktycznie codziennie. Natomiast dodatkowe operatory AND oraz OR już takie oczywiste nie są.
= | Równa się |
> | Większe niż |
< | Mniejsze niż |
>= | Większe lub równe |
<= | Mniejsze lub równe |
<> or != | Nie równe |
AND | Logicznie „i”. |
OR | Logicznie „lub” |
NOT | Logicznie „nie” |
IN | Zawiera |
Podstawowe zastosowanie klauzuli WHERE
Poniżej widzisz praktyczne zastosowanie klauzuli WHERE. W tym celu wykorzystasz tabelę customer.
Znajdziesz teraz wszystkich klientów, którzy mają na imię Jamie.
1 2 |
SELECT last_name,first_name FROM public.customer WHERE first_name = 'Jamie'; |
Rozszerzenie zasięgu klauzuli WHERE o operator AND
Możesz również pośród klientów wybrać tych, którzy nazywają się Jamie Waught. W tym przypadku użyjesz operatora AND.
1 2 |
SELECT last_name,first_name FROM public.customer WHERE first_name = 'Jamie' AND last_name='Waugh'; |
Rozszerzenie zasięgu klauzuli WHERE o operator AND
Możesz również użyć operatora OR w celu wybrania w warunku jednej z min. 2 możliwych opcji. W tym przypadku będzie to jedno z 2 imion Aaron lub Adam.
1 2 |
SELECT last_name,first_name FROM public.customer WHERE first_name = 'Aaron' OR first_name='Adam'; |
Pobranie listy szukanych wartości przy pomocy operatora IN
Zamiast dużej liczy operatorów OR, możesz użyć operatora IN. Pozwoli on na wypisanie w nawiasie wszystkich szukanych wartości i nadal będzie działał na zasadzie operatora OR.
1 2 |
SELECT last_name,first_name FROM public.customer WHERE first_name IN ('Ann','Anne','Annie'); |
Szukanie wieloznaczności przy pomocy klauzuli LIKE
Jeżeli nie wiesz dokładnie czego szukać, ale jesteś w stanie przypomnieć sobie chociaż początek wyrażenia możesz użyć LIKE. To słowo kluczowe pozwala na dopasowanie początku szukanego wyrażenia. Dzięki dopasowaniu początku w odpowiedzi otrzymujesz wszystkie możliwe warianty. Powiedzmy, że szukasz osoby, której początek imienia to Ann.
1 2 |
SELECT first_name,last_name FROM public.customer WHERE first_name LIKE 'Ann%'; |
Wyszukiwanie zakresu wartości przy pomocy klauzuli BETWEEN…AND
Jeżeli szukasz wyników, w którym mogę użyć zakresu korzystam z klauzuli BETWEEN … AND. Szukasz klientów, których customer_id mieści się z zakresie 350 a 355. W ten sposób otrzymasz imiona oraz nazwiska wszystkich klientów, z zadanego zakresu.
1 2 |
SELECT customer_id,first_name,last_name FROM public.customer WHERE customer_id BETWEEN 350 AND 355; |
Operator przeczenia NOT
Na koniec użyjesz operatora przeczenia NOT. Wyszukasz wszystkie imiona rozpoczynające się na Bre, jednocześnie nie pokażesz klientów, którzy na nazwisko mają Montley.
1 2 |
SELECT customer_id,first_name,last_name FROM public.customer WHERE first_name LIKE 'Bra%' AND last_name 'Motley'; |
W kolejnym wpisie zajmę się słowami kluczowymi LIMIT oraz OFFSET.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).