Przegląd symboli wieloznacznych w SQL
Znak wieloznaczny w SQL wykonuje zamianę ciągu od zera do dowolnej liczby znaków. Zazwyczaj te znaki zastępcze można znaleźć w połączeniu z operatorem SQL LIKE. Jest to operator powszechnie używany w klauzuli SQL WHERE do wyszukiwania określonego układu znaków.
Symbole wieloznaczne mają podobny cel jak wyrażenia regularne. Znak wieloznaczny to znak zastępczy, który jest używany do zamiany określonych innych znaków lub znaków w tym ciągu. Te symbole wieloznaczne są korzystne, gdy chcemy przeprowadzić szybkie wyszukiwanie w bazie danych.
Mamy dwa typowe znaki wieloznaczne w SQL. Symbol procentu oznacza zero, jeden lub dowolną liczbę znaków. Symbol podkreślenia oznacza pojedynczy znak, literę lub cyfrę. Znaki te można łączyć w kilku układach. Mamy także (charlist), (charlist) i (! Charlist), które można stosować zarówno w SQL, jak i MS Access.
Przyjrzymy się szczegółowo tym symbolom wieloznacznym wraz z kilkoma innymi przydatnymi znakami wieloznacznymi.
Dzika karta | Opis | Przykład |
Znak procentu:% | Ten symbol wieloznaczny pasuje do zera lub więcej znaków | ha% znajduje ha, kapelusz, szczęśliwy i zdarza się |
Podkreślenie: _ | Ten symbol zastępczy pasuje tylko do określonego pojedynczego znaku | p_t znajdź pulę, pit i put |
Nawiasy kwadratowe: () | Ten symbol zastępczy pasuje do znaku solo określonego w nawiasach | p (oi) t znaleźć garnek i pit, ale nie umieścić |
Caret: ^ | Ten symbol zastępczy pasuje do znaków, które nie występują w nawiasie po tym symbolu | p (oi) t znajduje put, ale nie pot i pit |
Zauważmy, że MS Access używa symbolu gwiazdki (*) dla symbolu wieloznacznego zamiast znaku procentowego (%), aby dopasować zero lub więcej znaków i używa znaku zapytania (?) Dla znaku wieloznacznego zamiast znak wieloznaczny podkreślenia reprezentuje pojedynczy znak.
Składnia symboli wieloznacznych SQL
Przyjrzyjmy się, w jaki sposób można zapisać znak wieloznaczny „%” i „_”:
SELECT FROM table_name
WHERE column LIKE 'AAAA%'
Lub
SELECT FROM table_name
WHERE column LIKE '%AAAA%'
Lub
SELECT FROM table_name
WHERE column LIKE '_AAAA'
Lub
SELECT FROM table_name
WHERE column LIKE 'AAAA_'
Lub
SELECT FROM table_name
WHERE column LIKE '_ AAAA _'
AAAA% pomaga nam szukać ciągów zaczynających się od AAAA i kończących się tam lub kończących się na innym pojedynczym znaku lub więcej niż jednym znaku.
% AAAA% pomaga nam szukać ciągów zaczynających się od dowolnej liczby znaków, ale zawierających ciąg AAAA pomiędzy nimi, i kończących się dowolną liczbą znaków od 0 do nieskończoności.
_AAAA pomaga nam szukać ciągów zaczynających się od jednego odrębnego znaku i kończących się ciągiem AAAA.
AAAA_ pomaga nam szukać dowolnych ciągów znaków rozpoczynających się od wzorca AAAA i kończących się pojedynczym wyraźnym znakiem.
_AAAA_ pomaga nam szukać dowolnych ciągów znaków rozpoczynających się od odrębnego znaku, zawierających wzorzec AAAA pomiędzy i kończących się pojedynczym wyraźnym znakiem.
Przykłady każdego znaku wieloznacznego w SQL
Oto niektóre z poniższych przykładów symboli wieloznacznych
1) Praca z% Wildcard
W tym przykładzie możemy wybrać wszystkich pracowników miasta, zaczynając od „the”:
SELECT * FROM Employees
WHERE City LIKE 'the%';
2) Praca z _ Wildcard
W tym przykładzie możemy wybrać wszystkich pracowników miasta, zaczynając od jednej wyraźnej postaci, ale kończąc na „elhi”:
SELECT * FROM Employees
WHERE City LIKE '_elhi';
Spójrzmy na inny przykład, w którym możemy wybrać pracowników miasta, którego nazwa zaczyna się od „B”, po którym następuje pojedynczy wyraźny znak, po którym następuje „r”, po którym następuje pojedynczy wyraźny znak, po którym następuje „in”:
SELECT * FROM Employees
WHERE City LIKE 'B_r_in';
3) Łączenie% i _ Wildcard
Możemy łączyć oba znaki wieloznaczne, aby zoptymalizować proces wyszukiwania.
W tym przykładzie możemy znaleźć dowolny ciąg znaków mający „a” na drugiej pozycji.
WHERE StringName LIKE '_a%'
W tym przykładzie możemy znaleźć dowolny ciąg rozpoczynający się od „x” i mający długość co najmniej trzech znaków.
WHERE StringName LIKE 'x_%_%'
W tym przykładzie możemy znaleźć dowolny ciąg rozpoczynający się od „x” i kończący się na „y”, z co najmniej jednym znakiem pośrodku.
WHERE StringName LIKE 'x%_y'
4) Praca z () symbolem wieloznacznym
W tym przykładzie możemy wybrać wszystkich pracowników miasta, którego nazwa zaczyna się od „a”, „b” lub „c”.
SELECT * FROM Employees
WHERE City LIKE '(abc)%';
Możemy napisać ten sam przykład w inny sposób, używając symbolu łącznika (-). To oświadczenie wybierze również wszystkich pracowników miasta, którego nazwa zaczyna się od „a”, „b” lub „c”. Można to napisać w następujący sposób:
>SELECT * FROM Employees
WHERE City LIKE '(ac)%';
5) Praca z (!) Wildcard
W tym przykładzie możemy wybrać wszystkich pracowników miasta, którego nazwa NIE zaczyna się od „a”, „b” lub „c”.
SELECT * FROM Employees
WHERE City LIKE '(!abc)%';
To oświadczenie można również napisać w następujący sposób:
SELECT * FROM Employees
WHERE City NOT LIKE '(abc)%';
Wniosek
W tym artykule SQL Wildcard przejrzeliśmy wszystkie symbole wieloznaczne w SQL. Ponadto przyjrzeliśmy się różnym przykładom znaków wieloznacznych SQL, aby dać nam więcej zrozumienia i przejrzystości.
Podsumowując, znaki wieloznaczne działają podobnie do wyrażeń regularnych. Możemy łączyć wiele symboli wieloznacznych razem w ciąg solo, aby uzyskać lepsze wyniki wyszukiwania i wyniki. Może istnieć kilka baz danych, takich jak MS Access, które mogłyby używać osobnej symboli wieloznacznych SQL dla podobnej funkcji.
Polecane artykuły
To jest przewodnik po Wildcard w SQL. Tutaj omawiamy składnię symboli wieloznacznych SQL z przykładami dla każdego znaku wieloznacznego. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -
- Widoki SQL
- Narzędzia zarządzania SQL
- Co to jest MySQL?
- Wprowadzenie do MySQL