Zaawansowane filtrowanie wyników (LIKE, BETWEEN)
Zaawansowane filtrowanie wyników pozwala nam bardziej precyzyjnie wyszukiwać dane w bazach SQL. Dzięki operatorom takim jak LIKE
i BETWEEN
możemy tworzyć bardziej dokładne filtry, które pomagają znaleźć konkretne dane. Operator LIKE
służy do wyszukiwania wzorców w tekście, a BETWEEN
pozwala określić zakres wartości, które chcemy znaleźć.
W tej sekcji dowiesz się, jak używać operatorów LIKE
i BETWEEN
do filtrowania wyników w SQL.
Operator LIKE
Operator LIKE
jest używany do wyszukiwania danych, które pasują do określonego wzorca. Jest bardzo przydatny, gdy nie znamy dokładnej wartości, której szukamy, ale chcemy znaleźć coś, co spełnia pewien schemat. W LIKE
możemy używać znaków specjalnych, takich jak %
i _
:
%
: zastępuje dowolną liczbę znaków (zero lub więcej)._
: zastępuje dokładnie jeden znak.
Podstawowa składnia:
SELECT kolumna
FROM tabela
WHERE kolumna LIKE 'wzorzec';
Przykłady Użycia LIKE
Przykład 1: Pobranie uczniów, których imię zaczyna się na literę A
.
W tym przykładzie %
oznacza dowolną liczbę znaków po literze A
, więc zapytanie zwróci wszystkich uczniów, których imię zaczyna się na A
.
SELECT imie, nazwisko
FROM Uczen
WHERE imie LIKE 'A%';
Przykład 2: Pobranie uczniów, których nazwisko ma pięć liter i zaczyna się na K
.
W tym przykładzie _
oznacza dokładnie jeden znak, więc K____
oznacza nazwisko z pięcioma literami, gdzie pierwsza litera to K
.
SELECT imie, nazwisko
FROM Uczen
WHERE nazwisko LIKE 'K____';
Operator BETWEEN
Operator BETWEEN
jest używany do filtrowania danych w określonym zakresie. Jest przydatny, gdy chcemy wybrać wartości mieszczące się między dwiema liczbami, datami lub innymi wartościami.
Podstawowa składnia:
SELECT kolumna
FROM tabela
WHERE kolumna BETWEEN wartosc1 AND wartosc2;
Przykłady Użycia BETWEEN
Przykład 1: Pobranie uczniów, którzy mają oceny od 3 do 5.
W tym przykładzie zapytanie zwraca uczniów, których ocena wynosi od 3 do 5, włącznie.
SELECT imie, nazwisko, ocena
FROM Oceny
WHERE ocena BETWEEN 3 AND 5;
Przykład 2: Pobranie uczniów urodzonych między 1 stycznia 2005 a 31 grudnia 2007.
W tym przykładzie zapytanie zwraca uczniów, którzy urodzili się między początkiem 2005 roku a końcem 2007 roku.
SELECT imie, nazwisko, data_urodzenia
FROM Uczen
WHERE data_urodzenia BETWEEN '2005-01-01' AND '2007-12-31';
Łączenie LIKE
i BETWEEN
z Operatorami Logicznymi
Możemy łączyć LIKE
i BETWEEN
z operatorami logicznymi AND
i OR
, aby stworzyć bardziej złożone zapytania.
Przykład: Pobranie uczniów, którzy są w klasie o id
równym 2 i mają imię zaczynające się na literę M
.
W tym przykładzie używamy AND
, aby połączyć dwa warunki – klasa musi być równa 2
, a imię musi zaczynać się na M
.
SELECT imie, nazwisko
FROM Uczen
WHERE klasa_id = 2
AND imie LIKE 'M%';
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |