Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - SQL

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ę
Aby widzieć ocenę lekcji - Zaloguj się