Wyszukiwanie wieloznacznych SQL

Wyszukiwanie wieloznacznych SQL

Postacie dzikiej karty to znaki specjalne, które działają jako symbole zastępcze, aby reprezentować jedną lub więcej wartości. Są one odegrane kluczowe podczas wyszukiwania określonych wzorców w typach tekstowych lub ciągów.

W SQL dzikie karty odgrywają istotną rolę, ponieważ umożliwiają przeprowadzanie „rozmytego” poszukiwania pasujących wartości bez znaczenia dokładnej wartości.

W tym artykule zbadamy różne znaki wieloznaczne w standardowym SQL. Należy pamiętać, że implementacja może się różnić w zależności od silnika bazy danych.

Standardowe znaki wieloznaczne SQL

Istnieją dwa rodzaje znaków wieloznacznych obsługiwanych w standardowym SQL:

Postać Opis
% (znak procentowy) Dopasuj zero lub więcej znaków
_ (znak podkreślenia) Dopasuj dowolny pojedynczy znak

Uwaga: Chociaż wszystkie silniki bazy danych obsługują wspomniane wcześniej dzikie karty, MS Acces.

Korzystanie z operatorów wieloznacznych SQL

Używamy klauzuli podobnej do wyszukiwania pasujących wzorów za pomocą wieloznacznych kart. W niektórych przypadkach możesz znaleźć klauzulę iLike, wersję operatora podobnego.

Przykładowe użycie i

Na przykład, aby wyszukać wszystkich użytkowników, których nazwy zaczynają się od AA, możemy wykonać zapytanie, jak pokazano poniżej:

Wybierz nazwę kolumnową z nazwy Stole_name, gdzie nazwa „%aa”;

Poprzednie zapytanie powinno przeszukać określoną tabelę wszystkich dopasowanych rekordów, których nazwa zaczyna się od AA.

Przykładowy wynik pokazano poniżej:

Abid
Aadeep
Aadesh
Aadam
Aaron

Możesz także użyć operatora iLike, który będzie pasował do wyszukiwania bez względu na obudowę.

Wybierz nazwę kolumn z Table_name Where Nazwa ILIKE '%AA';
-- Abid
-- Aadeep
-- Aadesh
-- Aadam
-- Aaron

Uwaga: wszystkie silniki bazy danych mogą nie obsługiwać operatora iLike.

Możesz także wyszukać, jeśli ciąg zawiera określony podłoże, uruchamiając zapytanie jako:

Wybierz nazwę_polution (S) z Table_name, gdzie nazwa „%SUN%”;

W poprzedniej składni SQL zwróci wszystkie ciągi zawierające Sun Sun.

Uwaga: Użyj poprzedniej funkcji z ostrożnością. Może to ponieść znaczne kary wydajności na twojej bazie danych, szczególnie na dużym zestawie danych.

Aby wyszukać, jeśli ciąg kończy się na określonym znaku lub podłożu, uruchom następujące polecenie:

Wybierz nazwę_polution (S) z Table_name, gdzie nazwa „%.com ';

Poprzednie polecenie powinno zwrócić wszystkie pasujące ciągi, które kończą się .com

Przykładowe użycie II

W niektórych przypadkach możesz szukać jednej pasującej postaci. W takim przypadku możesz użyć podkarcia wieloznacznej w następujący sposób:

Wybierz nazwę_polution (S) z Table_name, gdzie nazwa „_e%r%”;

Poprzednie przykładowe zapytanie powinno wyszukiwać dopasowania z jednym znakiem początkowym.

Oto przykładowy wynik:

Piotr

Negacja SQL

Chociaż operator podobnych i iLike świetnie nadają się do wyszukiwania pasujących rekordów, możesz chcieć pracować z rekordami, które nie pasują.

W tym celu możesz negować swój wynik, ustawiając warunek jako nie lubi lub nie iLike, jak pokazano poniżej:

Wybierz nazwę kolumny z nazwy Table_name, w której nazwa nie lubi „%aa”;

W takim przypadku poprzednie polecenie powinno zwrócić wszystkie inne wyniki oprócz tego, które zaczynają się od AA.

Wniosek

W tym artykule zbadano używanie i współpracę z operatorami wieloznacznymi w standardowym SQL. Jak wspomniano, niektóre silniki bazy danych mogą zaimplementować więcej lub mniej znaków wieloznacznych. Sprawdź dokumentację silnika, aby dowiedzieć się więcej. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby uzyskać więcej wskazówek i samouczków.