Kas otsingutingimus x<1 AND x>10 saab olla täidetud, st kas sellise otsingutingimusega päringu tulemuses saab olla ridu?

Postitas Erki Eessaar 07.04.2024 09:24 (muudeti 07.04.2024 09:28)
Ei saa.

AND tähendab, et mõlemad alamtingimused peavad olema täidetud - vaadake AND operatsiooni tõeväärtustabelit. Oletame, et tabelis T on veerg x, mis on täisarvu tüüpi.

Kui käivitada päring:
 
SELECT *
FROM T
WHERE x<1 AND x>10;
 
, siis päringu täitmisel toimuvad kontseptuaalselt järgmised toimingud. Iga rea korral tabelist T leitakse x väärtus, pannakse see tingimuses oleva x asemele, saadakse väide ja kontrollitakse selle väite täidetust e kehtivust. Kui kontrolli tulemus on TRUE e rida vastab tingimusele, siis see rida on päringu tulemuses. Kui kontrolli tulemus on FALSE või UNKNOWN, siis rida ei ole tulemuses.
 
Neli näidet:
  • x=5 - väide: 5<1 AND 5>10 - kumbki alamtingimus pole täidetud - vale väide e kontrolli tulemus on FALSE - rida pole tulemuses.
  • x=0 - väide: 0<1 AND 0>10 - esimene alamtingimus on täidetud ja teine ei ole - vale väide e kontrolli tulemus on FALSE - rida pole tulemuses.
  • x=20 - väide 20<1 AND 20>10 - teine alamtingimus on täidetud ja esimene ei ole - vale väide e kontrolli tulemus on FALSE - rida pole tulemuses.
  • x on NULL - väide NULL<1 AND NULL>10 - kummagi alamtingimuse täidetust ei saa kontrollida, sest NULL on nagu kinnine karp, mille sisse ei näe - väide, mille täidetus ei saa kontrollida e kontrolli tulemus UNKNOWN - rida pole tulemuses.

Selle päringu tulemuses ei ole ühtegi rida.

Hinda postitust:

Keskmine hinne : Pole veel hinnanguid!