Selectați comanda unde - selectați selecțiile cu secțiunea unde - limba de interogare sql

Clauza WHERE

Dacă există o clauză WHERE în expresia de masă. apoi următoarea este calculată.

Condiții după cuvântul cheie WHERE, pot include condițiile de căutare predicate, operatorii booleeni și (i), OR (sau) și nu (nu) și paranteze pentru a indica secvența de calcule necesare.







Clauza WHERE este calculată în conformitate cu următoarele reguli: Fie R rezultatul calculului clauzei FROM. Apoi, condiția de căutare este aplicată tuturor rândurilor de R, iar rezultatul clasei WHERE este tabela SQL. constând din acele rânduri R pentru care rezultatul calculului condiției de căutare este adevărat. Dacă condiția de selecție include subcotări. atunci fiecare subinterogare este calculat pentru fiecare uplu a tabelului R (standard utilizează „efectiv“, termenul în sensul că rezultatul ar trebui să fie aceeași ca și în cazul în care fiecare subquery efectiv calculat din nou pentru fiecare tuple R).

Printre predicate, condițiile de căutare în conformitate cu standardul pot fi următoarele predicate: un predicat de comparație. predikatbetween. predikatin. predikatlike. predicat isnull. predicat cu un cuantificator și predicate.

La verificarea condițiilor de eșantionare, cifrele sunt comparate algebric: numerele negative sunt considerate mai mici decât numerele pozitive, indiferent de valoarea lor absolută. Linile sunt comparate în funcție de reprezentarea lor în codul ANSI. Atunci când se compară două linii de lungimi diferite, o linie mai scurtă este mai întâi căptușită cu spații în dreapta pentru ca ambele linii să aibă aceeași lungime.







Predicatul de comparație cu expresii sau rezultate subdotare. Condiția este determinată de două expresii separate de unul dintre simbolurile de funcționare ale relației:. <> (nu egal cu),>. <и <= .

expresii aritmetice din stânga și din dreapta ale comparațiilor predicatelor se bazează pe regulile generale de construcție a expresiilor aritmetice și poate include, în general, numele, coloana de masă din clauza FROM, și constante. expresii aritmetice ale tipurilor de date trebuie să fie comparabile cu (de exemplu, în cazul în care un tip coloană de tabel este un tip A șir de caractere, predicatul „a = 5“ nu este valid).

În cazul în care operațiunile de comparare corecte operanzi specificate printr-o subinterogare, constrângerea suplimentară este faptul că un rezultat de putere subinterogare ar trebui să fie mai mică decât unitatea. În cazul în care cel puțin unul dintre operanzii unei operațiuni de comparare are o valoare nulă, sau în cazul în care operand dreapta este o subinterogare cu un rezultat gol, valoarea predicatului comparație încă necunoscut.

Pentru a asigura portabilitatea aplicațiilor, trebuie să evaluați cu atenție specificul lucrului cu valori nedefinite într-un anumit DBMS.

Eșantionarea probelor cu o clauză WHERE

Eșantionarea codului și numele clienților care locuiesc la Moscova.

SELECT CUSTOMERNO, FIRSTNAME, LASTNAME DE LA CLIENT WHERE CITY = 'Moscova';

Eșantionul din tabelul de date emp pentru angajații departamentelor cu numărul 40:

Extrageți din înregistrările tabelului numele câmpului, poziția, mărimea salariului și numărul departamentului pentru toți angajații, cu excepția vânzătorilor din departamentul cu numărul 30:

SELECT ename, job, sal, deptno FROM DEP unde NU deptno = 30;







Articole similare

Trimiteți-le prietenilor: