Diferență cheie – unde vs. clauză în SQL
Datele sunt importante pentru fiecare organizație. Prin urmare, este necesar să stocați datele într-un mod organizat pentru a le recupera. Datele sunt stocate în tabele. O bază de date constă dintr-o colecție de tabele. Un tip comun de baze de date sunt bazele de date relaționale. Într-o bază de date relațională, tabelele sunt legate între ele. De exemplu, clientul de masă este conectat la masa de comandă. Un sistem de management al bazelor de date relaționale (RDBMS) este un sistem de management al bazelor de date care se bazează pe modelul relațional. Este folosit pentru gestionarea bazelor de date relaționale. Câteva exemple de RDBMS sunt MySQL, MSSQL și Oracle. Structured Query Language (SQL) este limbajul folosit pentru manipularea și preluarea datelor dintr-o bază de date relațională. Există diverse clauze în SQL pentru a efectua diferite sarcini. Două dintre ele sunt unde și având. Acest articol discută diferența dintre clauza unde și have în SQL. Diferența cheie între clauza where și having în SQL este aceea că clauza where este folosită pentru a filtra înregistrările înainte de a avea loc o grupare sau o agregare, în timp ce clauza have este folosită pentru a filtra înregistrările după o grupare sau are loc o agregare.
Care este clauza where în SQL?
Ajută la preluarea, actualizarea sau ștergerea unui anumit set de date din tabel în funcție de condiția dată. Programatorul poate folosi clauza where pentru a restricționa și a prelua doar datele necesare. Interogarea se execută numai pe înregistrările în care condiția specificată de clauza where este adevărată. Poate fi folosit cu selectarea, actualizarea și ștergerea.
Consultați tabelul studenților de mai jos,
Pentru a selecta numele și vârsta studentului al cărui student_id este egal cu 3, se poate folosi următoarea interogare SQL.
selectați numele, vârsta de la student unde student_id=3;
De asemenea, este posibil să utilizați operatori precum nu egal cu (!=), mai mare decât (>), mai mic decât (=), mai mic sau egal cu (<=). Pentru a selecta student_id și numele a căror vârstă nu este egală cu 15 ani, se poate folosi următoarea interogare SQL.
select student_id, numele studentului la care vârsta!=15;
Pentru a schimba vârsta elevului de la 2 la 13 ani, se poate folosi următoarea interogare.
actualizați vârsta stabilită de student=13, unde id=3;
Pentru a șterge înregistrarea a cărei student_id este 4, se poate folosi următoarea interogare.
delete from student unde student_id=4;
Operatorii și, sau pot fi utilizați pentru a combina mai multe condiții.
selectați numele de la student unde student_id=1 și vârsta=15; interogarea va prelua numele Ann.
Acestea sunt câteva exemple de clauză where în SQL. Dacă există o clauză Group By, clauza where apare înaintea acesteia.
Ce este o clauză având în SQL?
Există funcții furnizate de limbajul SQL pentru a efectua calcule cu ușurință. Ele sunt cunoscute ca funcții de agregare. Min () este folosit pentru a găsi cea mai mică valoare a coloanei selectate. Valoarea maximă () este utilizată pentru a găsi valoarea maximă a coloanei selectate. Media () este folosită pentru a găsi media în coloană, iar suma () este folosită pentru a găsi totalul coloanei. Acestea sunt câteva exemple de funcții de agregare. Consultați tabelul de comenzi de mai jos,
Programatorul poate scrie interogarea SQL după cum urmează pentru a prelua clienții al căror sold este mai mare de 2000.
selectațidin grupul de comenzi în funcție de client care are sumă (sold) > 2000.
Acest lucru va tipări înregistrările clienților a căror însumare a soldului este mai mare de 2000. Va tipări înregistrările clienților Ann și Alex.
Clauza have este folosită pentru a prelua valorile pentru grupurile care îndeplinesc anumite condiții. Prin urmare, grupul care se încadrează în condiția dată va apărea ca rezultat al acesteia. Clauza have apare după clauza de grupare. Dacă clauza de grupare nu este prezentă, atunci clauza have va funcționa similar cu clauza where.
Care sunt asemănările dintre unde și clauza având în SQL?
- Ambele sunt clauze în limbajul de interogare structurat.
- Ambele pot fi folosite pentru a filtra recuperarea unui set de date.
Care este diferența dintre clauza unde și a avea în SQL?
unde vs a avea o clauză în SQL |
|
Unde este o clauză SQL care este utilizată pentru a specifica o condiție în timpul preluării datelor dintr-un singur tabel sau prin alăturarea cu mai multe tabele. | Averea este o clauză SQL care specifică că o instrucțiune SQL select ar trebui să returneze numai rânduri în care valorile agregate îndeplinesc condițiile specificate. |
Scop | |
Clauza where este folosită pentru a filtra rândurile. | Clauza have este folosită pentru a filtra grupuri. |
Agregare | |
Clauza where nu poate fi utilizată cu funcțiile de agregare decât dacă este într-o subinterogare conținută într-o clauză Have. | Funcțiile de agregare pot fi utilizate cu clauza have. |
Metoda de filtrare | |
Clauza unde se comportă ca un prefiltru. | Clauza have se comportă ca un filtru post. |
Ordinea de grupare după clauză | |
Clauza where este folosită înaintea clauzei Group By. | Clauza have este folosită după clauza Group By. |
Folosit cu | |
Clauza where poate fi folosită cu selectare, actualizare și ștergere. | Clauza have este folosită numai cu select. |
Rezumat – unde vs a avea o clauză în SQL
Limbajul de interogare structurat (SQL) este limbajul folosit în bazele de date relaționale. Where are having sunt două clauze în SQL. Acest articol a discutat despre diferența dintre clauza unde și a avea. Diferența dintre clauza where și having în SQL este aceea că where este folosită pentru a filtra înregistrările înainte de a avea loc o grupare sau o agregare, în timp ce have este folosit pentru a filtra înregistrările după o grupare sau are loc o agregare.