SQL String Egal

Sql String Egal



Operațiile cu șiruri sunt unele dintre cele mai comune și recurente sarcini în dezvoltarea lumii. Chiar și atunci când vine vorba de baze de date, sarcini precum compararea șirurilor joacă un rol crucial în filtrarea datelor și căutarea înregistrărilor care se potrivesc.

Indiferent dacă se caută înregistrări specifice, se filtrează datele sau se efectuează diverse sarcini de manipulare a datelor, înțelegerea modului în care SQL gestionează șirul egal este crucială.

În acest ghid, ne vom aprofunda în șirurile SQL egale, analizând sintaxa acceptată, utilizarea și diverse exemple pentru o mai bună înțelegere.







Șirul SQL este egal cu sintaxă

Există diferite moduri în care puteți efectua filtrarea șirurilor. Cu toate acestea, una dintre cele mai comune și mai ușoare tehnici este utilizarea clauzei WHERE.



Următoarele arată sintaxa clauzei:



SELECTAȚI coloana1, coloana2,...
FROM table_name
WHERE nume_coloană = „valoare”;

În acest caz, „nume_coloană” reprezintă coloana cu care dorim să o comparăm, în timp ce valoarea se referă la literalul șir cu care dorim să o comparăm.





Aceasta folosește operatorul de egalitate care verifică dacă șirurile furnizate sunt egale.

Eșantion de date

Înainte de a ne aprofunda în utilizare, haideți să creăm un tabel de exemplu de bază care ne permite să demonstrăm utilizarea într-un mod mai practic.



Luați în considerare tabelul exemplu și datele eșantionului, așa cum se arată în continuare:

CREATE TABLE angajații (
employee_id INT PRIMARY KEY AUTO_INCREMENT,
nume_angajat VARCHAR(100),
departament_id INT
);


INSERT INTO angajați (nume_angajat, ID_departament) VALORI
(„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);

Aceasta ar trebui să creeze un tabel și să adauge probele de înregistrări în tabel.

Exemplul 1: Utilizare de bază

Luați în considerare următorul exemplu de interogare care utilizează operatorul șir egal pentru a căuta o înregistrare care se potrivește în care numele angajatului este egal cu Karen Martinez.

SELECTAȚI *
DE LA angajați
WHERE angajat_name = 'Karen Martinez';

În interogarea dată, selectăm toate coloanele din tabelul „angajați” unde coloana „nume_angajat” este egală cu „Karen Martinez”.

Rezultatul rezultat este după cum urmează:

ID_angajat|nume_angajat |ID_departament|
-----------+--------------+-------------+
8|Karen Martinez| 108 |

Exemplul 2: Comparația șirurilor care ține seama de majuscule și minuscule

Deși acest lucru poate depinde de sistemul de baze de date, în mod implicit, compararea șirurilor în majoritatea sistemelor de baze de date nu face distincție între majuscule și minuscule.

Pentru a forța în mod explicit baza de date să efectueze o comparație cu majuscule și minuscule, puteți utiliza cuvântul cheie BINARY după cum urmează:

SELECTAȚI *
DE LA angajați
WHERE BINARY employee_name = 'Karen martinez';

În acest caz, deoarece șirul furnizat conține M minuscul în numele Martinez, baza de date îl va trata ca un șir diferit. Prin urmare, nu există niciun rezultat.

Exemplul 3: Utilizarea caracterelor Wildcard

În alte cazuri, este posibil să dorim să efectuăm o verificare a egalității șirurilor utilizând caracterele joker. Aceasta se potrivește cu șirurile care se potrivesc cu un anumit format, mai degrabă decât cu un singur șir literal.

Acest lucru poate ajuta la oferirea flexibilității căutărilor fără a copleși motorul bazei de date.

De exemplu, putem folosi metacaracterele precum „%” (se potrivește cu orice secvență de caractere) și „_” (se potrivește cu orice caracter) împreună cu șiruri egale.

Să ne uităm la un exemplu după cum urmează:

SELECTAȚI *
DIN angajați e
WHERE nume_angajat LIKE 'A%';

Această interogare preia toți angajații ale căror nume încep cu litera „A”.

Exemplul 4: Scăpați de personajele speciale

Într-un caz în care trebuie să căutați anumite caractere ca parte a șirului, trebuie să le scăpați atunci când le utilizați în șir egal.

De exemplu, dacă doriți să căutați un caracter, cum ar fi bara oblică inversă sau un singur ghilimeleu, ca parte a șirului, trebuie să îl eliminați după cum urmează:

SELECTAȚI *
DIN produse
WHERE product_name = „Mere dulci”;

În acest caz, folosim o bară oblică inversă pentru a scăpa de ghilimele simple din șir.

Pentru a scăpa de o bară oblică inversă, puteți utiliza barele oblice inverse duble după cum urmează:

SELECTAȚI *
DIN produse
WHERE product_name = 'Dulce\\ Mere';

Aceasta ar trebui să includă o bară oblică inversă în literalul șirului.

Concluzie

În acest tutorial, am aflat despre una dintre cele mai comune și mai utile operațiuni cu șiruri din bazele de date, care este compararea egalității șirurilor. Am învățat sintaxa și utilizarea diferiților operatori pentru a compara șirurile.