SQL String Equals

Sql String Equals



Operacije s nizovima su neki od najčešćih i ponavljajućih zadataka u razvoju svijeta. Čak i kada je riječ o bazama podataka, zadaci poput usporedbe nizova igraju ključnu ulogu u filtriranju podataka i traženju podudarnih zapisa.

Bez obzira tražite li određene zapise, filtrirate podatke ili obavljate različite zadatke manipulacije podacima, razumijevanje načina na koji SQL rukuje nizom jednakosti ključno je.

U ovom ćemo vodiču istražiti SQL jednakosti niza gledajući podržanu sintaksu, upotrebu i razne primjere radi boljeg razumijevanja.







Sintaksa SQL String Equals

Postoje različiti načini na koje možete izvesti filtriranje niza. Međutim, jedna od najčešćih i jednostavnih tehnika je korištenje WHERE klauzule.



Sljedeće prikazuje sintaksu klauzule:



SELECT stupac1, stupac2, ...
FROM naziv_tablice
WHERE column_name = 'vrijednost';

U ovom slučaju, 'column_name' predstavlja stupac koji želimo usporediti, dok se vrijednost odnosi na string literal s kojim ga želimo usporediti.





Ovo koristi operator jednakosti koji provjerava jesu li navedeni nizovi jednaki.

Uzorak podataka

Prije nego što zaronimo u uporabu, postavimo osnovnu tablicu uzorka koja nam omogućuje demonstraciju uporabe na praktičniji način.



Razmotrite primjer tablice i uzorke podataka kako je prikazano u nastavku:

CREATE TABLE zaposlenici (
Emploee_id INT PRIMARNI KLJUČ AUTO_INKREMENT,
ime_zaposlenika VARCHAR(100),
odjel_id INT
);


INSERT INTO zaposlenika (employee_name, department_id) VRIJEDNOSTI
('Phelps Dane', 101),
('Alana L', 102),
('E Johnson', 103),
('Daniel B', 104),
('Break Davis', 105),
('Jessica Wilson', 106),
('Daniel Garcia', 107),
('Karen Martinez', 108),
('Anthony Robinson', 109),
('Sophia Clark', 110);

Ovo bi trebalo stvoriti tablicu i dodati ogledne zapise u tablicu.

Primjer 1: Osnovna upotreba

Razmotrite sljedeći primjer upita koji koristi operator niza jednako za traženje odgovarajućeg zapisa u kojem je ime zaposlenika jednako imenu Karen Martinez.

IZABERI *
OD zaposlenika
WHERE Emploee_name = 'Karen Martinez';

U zadanom upitu odabiremo sve stupce iz tablice “zaposlenici” gdje je stupac “ime_zaposlenika” jednak “Karen Martinez”.

Rezultirajući izlaz je sljedeći:

id_zaposlenika|ime_zaposlenika |id_odjela|
-----------+--------------+-------------+
8|Karen Martinez| 108 |

Primjer 2: Usporedba niza s razlikovanjem velikih i malih slova

Iako to može ovisiti o sustavu baze podataka, prema zadanim postavkama usporedba nizova u većini sustava baza podataka ne razlikuje velika i mala slova.

Kako biste eksplicitno natjerali bazu podataka da izvrši usporedbu koja razlikuje velika i mala slova, možete koristiti ključnu riječ BINARY na sljedeći način:

IZABERI *
OD zaposlenika
WHERE BINARY Emploee_name = 'Karen martinez';

U ovom slučaju, budući da navedeni niz sadrži malo slovo M u imenu Martinez, baza podataka će ga tretirati kao drugačiji niz. Dakle, nema rezultata.

Primjer 3: Korištenje zamjenskih znakova

U nekim drugim slučajevima, možda ćemo htjeti izvršiti provjeru jednakosti niza koristeći zamjenske znakove. Ovo odgovara nizovima koji odgovaraju određenom formatu, a ne jednom literalu niza.

To može pomoći u pružanju fleksibilnosti u pretraživanjima bez stvarnog opterećivanja baze podataka.

Na primjer, možemo koristiti zamjenske znakove kao što su '%' (odgovara bilo kojem nizu znakova) i '_' (odgovara bilo kojem pojedinačnom znaku) u kombinaciji s nizovima jednako.

Pogledajmo primjer kako slijedi:

IZABERI *
OD zaposlenika e
WHERE ime_zaposlenika LIKE 'A%';

Ovaj upit dohvaća sve zaposlenike čija imena počinju slovom “A”.

Primjer 4: Izbjegnite posebne znakove

U slučaju kada trebate tražiti određene znakove kao dio niza, morate ih izbjeći kada ih koristite u jednakosti niza.

Na primjer, ako želite pretraživati ​​znak kao što je obrnuta kosa crta ili jedan navodnik kao dio niza, morate ga izbjeći na sljedeći način:

IZABERI *
OD proizvoda
WHERE product_name = 'Slatke jabuke';

U ovom slučaju koristimo obrnutu kosu crtu za izbjegavanje jednostrukih navodnika unutar niza.

Da biste izbjegli obrnutu kosu crtu, možete koristiti dvostruke obrnute kose crte na sljedeći način:

IZABERI *
OD proizvoda
WHERE product_name = 'Slatke\\ jabuke';

To bi trebalo uključivati ​​obrnutu kosu crtu u literalu niza.

Zaključak

U ovom smo vodiču naučili o jednoj od najčešćih i najkorisnijih operacija nizova u bazama podataka, a to je usporedba jednakosti nizova. Naučili smo sintaksu i korištenje različitih operatora za usporedbu nizova.