Introducere în clauza WHERE

După cum știm cu toții că SQL (Structed Query Language) este unul dintre cele mai utilizate limbi pentru bazele de date relaționale (baza de date în care înregistrările sunt salvate sub formă de rânduri și coloane). În interogările SQL sunt lansate pentru a atinge baza de date pentru a efectua operațiunile dorite, fie că este vorba de operațiuni DML (Data Manipulation Language), DDL (Data Definition Language) sau DCL (Data Control Language). SQL folosește câteva clauze precum WHERE, GROUP BY, HAVING, ORDER BY care efectuează operațiuni specifice. Clauza WHERE este utilizată pentru a aplica condiții și a filtra rezultatele în timp ce preia sau manipulează orice date din baza de date. Se folosește cu instrucțiunea SELECT, UPDATE și DELETE, de asemenea clauza WHERE este opțională pentru a fi folosită cu ele.

În general, termeni, clauza WHERE,

  • Folosit pentru a filtra rândurile conform criteriilor date.
  • Limită numărul de rânduri returnate.
  • Urmată de o condiție logică care returnează fie adevărat, fie fals.
  • Funcționează numai dacă starea menționată se întoarce.
  • Poate fi utilizat cu instrucțiuni SELECT, UPDATE sau DELETE.

1. Sintaxa cu SELECT

SELECT column1, column2, column3… from table_name WHERE condition;

Aici SELECT va prelua toate datele din column1, column2, column3 din tabel (numit nume_tabelă) și clauza WHERE aplică condițiile datelor preluate de instrucțiunea SELECT și de filtrare care în conformitate cu condiția menționată în instrucțiune.

2. Sintaxa cu ACTUALIZARE

UPDATE table_name SET column_name = value WHERE condition;

Aici Actualizarea va actualiza valoarea pentru nume_coloana cu condiția furnizată unde.

Comparația și operatorii logici pot fi de asemenea folosiți cu condiția WHERE precum și, sau, nu, LIKE, <, =, etc.

3. Sintaxa cu DELETE

DELETE from table_name WHERE condition;

În sintaxa de mai sus:

nume_tabelăNumele tabelului pe care trebuie efectuate operațiunile.
condițieSpecifica starea filtrului pe care înregistrările trebuie filtrate
column_listNumele coloanelor tabelului

Exemple

Luați în considerare un tabel de studenți care are coloane și valori diferite menționate mai jos:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1RahulAgra955780662585
2AnkitDelhi885566447175
3ShailendraNoida721345789692

Scenariul 1

Obțineți id-ul studentului, numele studentului, adresa și procentajul tuturor studenților care au punctat mai mult de 80 la sută.

întrebare

SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;

Rezultat:

Numărul de înregistrări: 2

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra85
3ShailendraNoida92

Scenariul # 2

Actualizați procentul de Rahul cu 2 la sută.

întrebare

UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';

Rezultat:

Rândurile afectate: 1

Dacă atingem interogarea pentru a vizualiza câmpurile actualizate:

întrebare

SELECT * from students WHERE Stu_name ='Rahul';

Rezultat:

Numărul de înregistrări: 1

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra87

Scenariul # 3

Student Ankit a părăsit școala, astfel încât șterge toată fișa lui din masă.

întrebare

DELETE from students WHERE Stu_name = 'Ankit';

Rezultat:

Rândurile afectate: 1

Pentru a vizualiza studentul tabel actualizat:

întrebare

SELECT * from students;

Rezultat:

Rândurile afectate: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1RahulAgra955780662587
3ShailendraNoida721345789692

Clauza WHERE Operatii

Clauza WHERE conține condițiile pentru care valorile bazei de date sunt filtrate. Se pot utiliza diverși operatori cu clauza WHERE. Unele dintre ele sunt prezentate mai jos în tabel cu un exemplu:

S.No.OperatorDescriereExemplu
1.ȘIReturnează adevărat dacă ambele condiții se potrivescSELECT * de la studenți WHERE Stu_name = 'Rahul' și Stu_percentage = 85;
2.SAUSe întoarce adevărat dacă oricare dintre

meciuri de condiție

SELECT * de la studenți WHERE Stu_name = 'Rahul' sau Stu_name = 'Shalendra';
3.ÎNValoarea se potrivește cu oricare dintre valorile multiple specificateSELECT * de la studenți UNDE Stu_city IN („AGRA”, „NOIDA”);
4.NU ÎNValoarea nu se potrivește cu niciuna dintre valorile multiple specificateSELECTA * de la studenți UNDE NU ESTE STICITATE („AGRA”, „NOIDA”);
5.=EgalSELECTA * de la elevii UNDE

Stu_name = 'Rahul';

6.>Mai mare caSELECT * de la studenți WHERE Stu_percentage> 80;
7.<Mai puțin decâtSELECT * de la studenți WHERE Stu_percentage <78;
8.> =Mai mare sau egal cuSELECT * de la studenți WHERE Stu_percenetage> = 70;
9.<=Mai mic sau egal cuSELECT * de la studenți WHERE Stu_percenetage <= 70;
10.Nu este egal cuSELECT * de la studenți WHERE Stu_percentage 75;
11.ÎNTREValoarea se află între un anumit intervalSELECTA * de la elevii UNDE

Stu_percentage ÎNTRE 70 ȘI 85;

12.CAValorile corespund unui anumit tipar. Folosit pentru a efectua căutări cu wildcardSELECTA * de la studenți UNDE Stu_city LIKE 'AG%';

Notă: Un lucru care trebuie avut în vedere în timp ce lucrați cu clauza WHERE este că, în timp ce specificați condiția, valorile numerice nu sunt citate în ghilimele unice (''), în timp ce valorile textului (varchar) trebuie să fie citate în unic citate (' ').

Cum funcționează clauza WHERE în SQL?

Deși exemplele de mai sus arată clar modul în care clauza WHERE este utilizată pentru a filtra datele în funcție de condiția specificată de utilizator și permite executarea mai rapidă a codului SQL, deoarece numărul de înregistrări returnate este limitat de condiție. Optimizatorul SQL Query funcționează mai întâi la interogare folosind FROM (tabelul pe care trebuie efectuată operațiunea) pentru a prelua, șterge sau actualiza, apoi aplica clauza WHERE la rezultate.

Clauza WHERE poate fi folosită doar atunci când trebuie să filtrăm rezultatele într-o singură tabelă sau unirea tabelelor, deoarece funcționează pe datele rândurilor, dar când, în cazul funcțiilor de agregare, WHERE nu poate fi folosită pentru a aplica condiții la interogare.

Să luăm în considerare scenariul în care clauza WHERE nu poate fi folosită:

Scenariu: într-un tabel „filme”, regăsiți toate detaliile filmelor care câștigă mai mult de 10 crore în anii anumiți precum (2000, 2010, 2012..etc)

Solicitare:

SELECT * from movies GROUP BY Year_released HAVING earnings > 10;

Exemplul de mai sus folosește clauza HAVING în loc de WHERE, deoarece clauza WHERE nu poate fi utilizată în funcțiile agregate, în timp ce HAVING poate, și aceasta este, de asemenea, una dintre diferențele majore între clauza WHERE și HAVING.

Concluzie - SQL WHERE Clause

Explicația de mai sus arată clar utilizarea clauzei WHERE și implementarea acesteia pentru diferite scenarii în interogările SQL. Înainte de a scrie orice întrebare, trebuie să țineți cont de utilizarea fiecărei clauze și de scenariul în care acea anumită clauză sau cuvânt cheie ar trebui să fie utilizată.

Articole recomandate

Acesta este un ghid pentru clauza SQL WHERE. Aici discutăm despre utilizarea clauzei WHERE și implementarea acesteia pentru diferite scenarii. De asemenea, puteți parcurge și alte articole sugerate -

  1. Tipuri de uniri în SQL
  2. Wildcards în MySQL
  3. Interogare SQL Insert
  4. Cheie externă în SQL
  5. Top 6 tipuri de uniri în MySQL cu exemple