Tabela zwierzeta ma m.in. nazwa, gromada, dlugosc_zycia. Która kwerenda zwróci nazwy zwierząt żyjących min. 20 lat ORAZ będących ssakami?
Źle.
OR nie wymaga obu warunków.Źle. Brakuje warunku „ssak”.
Dobrze. Oba warunki naraz (
AND).Źle. Brakuje warunku długości życia.
Zadanie wymaga, by oba warunki zachodziły jednocześnie - długość życia min. 20 lat (
dlugosc_zycia >= 20) ORAZ przynależność do ssaków (gromada = 'ssak') - dlatego łączy je AND: SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';. Dlatego ta kwerenda jest poprawna.Pozostałe zapytania pomijają jedno z kryteriów lub źle je łączą. Wersje z pojedynczym warunkiem (
dlugosc_zycia >= 20 albo gromada = 'ssak' osobno) zwrócą za dużo rekordów. OR wystarczyłoby spełnić choć jeden warunek, więc trafiłyby się np. długowieczne gady. Oba kryteria naraz wymusza AND.