10.07.2015 Views

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

Andmebaasid I - Teema nr. 3 - Tallinna Tehnikaülikool

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TTÜ: Relatsioonialgebra. Sissejuhatus SQL keelde (2012) © Erki EessaarNäide: Leia töötajad, kelle perenimi on kindlasti või VÕIBOLLA “Mets”. St., ettuleb otsida töötajaid, kelle perenimi on “Mets” või kellel pole perenimemääratud (st. võibolla nende perenimi on “Mets” aga võibolla ei ole).SELECT *FROM TootajaWHERE perenimi='Mets' OR perenimi IS NULL;SQL standardi järgi pole õiged järgmised päringud (mis aga ei tähenda, etnad ei pruugi mõnes andmebaasisüsteemis töötada). Põhjus – NULL poleväärtus vaid tähistab väärtuse puudumist. Seega ei saa kasutada väärtustevõrdlemiseks kasutatavaid operaatoreid.SELECT * FROM Tootaja WHERE palk = NULL;SELECT * FROM Tootaja WHERE palk NULL;Näide: Leia töötajad kelle perenimi on tühi string:SELECT tootaja_kood, perenimi, osakonna_<strong>nr</strong>FROM TootajaWHERE perenimi='';NULL ei ole tühi string!SQL kirjeldab tõeväärtuse operaatorit, mille abil saab kontrollida avaldisetõeväärtust. Võimaldab taandada kolmevalentse loogika kolm võimalikkutõeväärtust kahele tõeväärtusele – true või false. IS [NOT] TRUE | FALSE | UNKNOWNNäide: Leia selliste töötajate andmed, kelle puhul pole teada, kas nende palkon 500 eurot.SELECT *FROM TootajaWHERE palk=500 IS UNKNOWN;Näide: Leia töötajate andmed, kelle puhul pole välistatud, et nende palk on500 eurot.SELECT *FROM TootajaWHERE palk=500 IS NOT FALSE;Päringu tulemuses on read, kus tingimus "palk=500" kehtib (TRUE) või poletingimuse "palk=500" kehtivust võimalik kindlaks teha, sest vaadeldavas reaspole palga andmed määratud (UNKNOWN).57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!