Przeszukiwanie danych za pomocą operatora LIKE oraz ich sortowanie w SQL

SQL sam w sobie za bardzo nie nadaje się do przeszukiwania tekstów (przy pomocy wbudowanych funkcji) ale na drobne potrzeby możemy wykorzystać operator LIKE w klauzuli WHERE, który wyszukuje tekst z danej kolumny pasujący do podanego wzorca. Po otrzymaniu już wyników wszystko oczywiście możemy odpowiednio posortować z poziomu zapytania. Sortowanie wykonujemy za pomocą operatora ORDER BY. Obie funkcje zostały dokładnie opisane poniżej…

Operator LIKE

Język SQL, umożliwia bardzo prostą metodę pobierania różnych danych na podstawie warunków logicznych. Co jednak zrobić gdy musimy pobrać rekord zawierający jakiś ciąg znaków? A co jeśli dana sekwencja musi występować w środku jakiegoś słowa? Na szczęście rozwiązanie tych problemów jest również bardzo proste, musimy zastosować tzw. klauzule „LIKE” języka SQL.

Pobierzmy z bazy rekord, który w kolumnie „Miasto”, zawiera ciąg znaków „kra”:

Powyższe zapytanie pobiera z bazy wszystkie rekordy, w których wpisana treść w kolumnie „miasto” zawiera ciąg znaków „kra”. Ciąg ten może być na początku jakiegoś słowa lub na jego końcu oraz w środku czyli przed i za literami „kra” mogą znajdować się dowolne znaki. Umożliwia nam to znak „%”, który w języku SQL zastępuje dowolną literę lub cyfrę.

Pobierzmy z bazy informacje o pracownikach, których imię zaczyna się na literę „Ł”:

Rozwiązanie tego problem było bardzo podobne do poprzedniego. Tutaj wystarczyło tylko dopisać po literze „Ł” znak %.

Pobierzmy z bazy informacje o pracownikach, których imię zaczyna się na literę z przedziału od „A” do „N”:

W nawiasach kątowych został ustalony przedział liter na jakie musi zaczynać się imię pracownika.

Pobierzmy teraz informacje o pracownikach, których nazwisko zaczyna się na literę „D”, a trzecią literą jest litera „K”:

W zapytaniu tym został użyty znak “?”, który zastępuje dowolny jeden znak liczbowy lub tekstowy.

Pobierzmy teraz dane pracowników, których imię nie zaczyna się na literę „C”:

Znak “!” w tym przypadku, jest znakiem negacji i w podanym warunku powoduje, że wartość w kolumnie imie na początku musi mieć inny znak niż “c”.

Przy tworzeniu kwerend należy pamiętać, że język SQL nie rozróżnia dużych i małych liter.

Strony: 1 2

, , , , , , , , , ,