Operatori booleeni

Operatorii booleeni de bază sunt, de asemenea, recunoscuți în SQL. Expresiile Boole sunt fie adevărate sau incorecte, ca predicate. Operatorii booleanului leagă una sau mai multe valori valide / nevalide și produc o singură valoare adevărată / sau / falsă. Operatorii standard Boolean care sunt recunoscuți în SQL sunt: ​​AND. SAU. și nu.

Există alți operatori Buhl, mai complexi (cum ar fi "excluși sau"), dar pot fi formați de acești trei operatori simpli - ȘI, SAU, NU.

După cum puteți înțelege, booleanul este o logică adevărată / falsă - bazată pe o operație digitală pe calculator; și de fapt, toate SQL (sau orice altă limbă) pot fi reduse la nivelul logicii booleene.

Operatorii Boole și modul în care funcționează:

ȘI ia două booleani (sub formă de A și B) ca argumente și le evaluează cu privire la adevăr, fie că sunt ambele adevărate.

SAU ia două booleani (sub formă de A sau B) ca argumente și evaluează corectitudinea dacă una dintre ele este adevărată.

NU ia un singur boolean (sub forma NOT A) ca argumente și înlocuiește valoarea sa de la greșit la drept sau la drept.

Prin legarea predicatelor de operatorii Bulleigh, puteți crește semnificativ capacitățile lor. Să presupunem că doriți să vedeți toți clienții din San Jose care au un rating de peste 200:

SELECT *
De la clienți
WHERE oraș = 'San Jose'
ȘI evaluare> 200;

Ieșirea pentru această interogare este prezentată în Figura 4.2. Există un singur client care îndeplinește această condiție.

Figura 4.2. O instrucțiune SELECT care utilizează AND

Dacă utilizați OR, veți primi toți clienții aflați în San Jose sau (OR) care au estimat peste 200.

SELECT *
De la clienți
WHERE oraș = 'San Jose' sau evaluare> 200;

Ieșirea pentru această interogare este prezentată în Figura 4.3.

Figura 4.3. O instrucțiune SELECT care utilizează OR

NU poate fi folosit pentru a inversa valorile booleene. Există un exemplu de interogare cu NOT:

SELECT *
De la clienți
WHERE oraș = 'San Jose' sau NU rating> 200;

Rezultatul acestei interogări este prezentat în Figura 4.4.

Figura 4.4. O instrucțiune SELECT care utilizează NOT

Toate intrările, cu excepția Grass, au fost selectate. Grass nu era în San Jose, iar scorul său era mai mare de 200, așa că a eșuat la ambele verificări. În fiecare dintre celelalte linii, unul sau ambele criterii sau ambele criterii au fost îndeplinite. Rețineți că operatorul NOT trebuie să precede operatorul Boolean, a cărui valoare ar trebui să se schimbe și nu trebuie plasată în fața operatorului relațional. De exemplu, o intrare incorectă a estimării predicatelor este:

nota NOT> 200

El va da un alt semn. Și cum face SQL să evalueze următoarele?

SELECT *
De la clienți
WHERE nu oraș = 'San Jose' sau evaluare> 200;

NU se aplică aici numai pentru orașul de expresie = 'San Jose'. sau la valoarea de exprimare> 200 de asemenea? După cum este scris, răspunsul corect va fi același. SQL poate folosi NOT cu expresia booleană imediat după aceasta. Puteți obține un rezultat diferit cu comanda:

SELECT *
De la clienți
WHERE NOT (oraș = 'San Jose' sau evaluare> 200);

Aici SQL intelege parantezele ca inseamna ca totul din interiorul lor va fi evaluat mai intai si prelucrat ca o singura expresie cu totul in afara lor (aceasta este o interpretare standard in matematica). Cu alte cuvinte, SQL ia fiecare linie și determină dacă orașul egalității = "San Jose" sau egalitatea de rating> 200 corespunde adevărului. Dacă orice condiție este adevărată, expresia booleană din interiorul parantezelor este adevărată. Cu toate acestea, dacă expresia booleană din paranteze este adevărată, predicatul ca întreg este incorect, deoarece NU convertește drept în greșit și invers.

Ieșirea pentru această interogare este prezentată în Figura 4.5.

Figura 4.5. O instrucțiune SELECT care utilizează NOT și o teză introductivă

Există un exemplu complex de intenție. Să vedem dacă puteți să-i urmăriți logica (ieșirea este prezentată în Figura 4.6):

Figura 4.6. Întrebare completă (complexă)

Notă. Pentru SMB-ul Interbase, cererea trebuie modificată:

În ciuda faptului că operatorii booleeni sunt individual simpli, nu sunt atât de simpli atunci când sunt combinați într-o expresie complexă.

Modul de evaluare a complexului boolean este de a evalua expresiile booleene cel mai adânc închise în paranteze, pentru a le combina într-o singură valoare booleană și apoi a le combina cu valorile superioare.

În acest capitol, v-ați extins foarte mult cunoștința cu predicatele. Acum puteți găsi valori asociate cu această valoare în orice mod - definite de diferiți operatori relaționali. De asemenea, puteți utiliza operatorii Boolean AND și OR. că multe condiții, fiecare dintre acestea fiind autonome în predicate, trebuie combinate într-un predicat unic. Operatorul boolean NU. după cum ați văzut deja, puteți schimba valoarea stării sau grupului de condiții la contrariul.

Operatorii booleeni și relaționali pot fi gestionați eficient folosind paranteze, care determină ordinea în care vor fi efectuate operațiile. Aceste operații sunt aplicabile oricăror niveluri de complexitate și înțelegeți cum pot fi create condiții complexe din aceste părți simple.

Acum, că am arătat modul în care sunt utilizați operatorii matematici standard, putem merge la operatori excepționali în SQL. Vom face acest lucru în capitolul 5.

Articole similare