Tabela podzespoly ma pola: model, producent, typ, cena. Które zapytanie wyświetli modele pamięci RAM firmy Kingston od najtańszej do najdroższej?
A.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC;
Źle.
DESC sortuje MALEJĄCO (od najdroższej).B.
SELECT model FROM podzespoly WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC;
Dobrze.
AND zawęża do RAM Kingston, ASC sortuje rosnąco.C.
SELECT model FROM podzespoly WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC;
Źle.
OR rozszerza wynik i sortowanie malejące.D.
SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoly ASC;
Źle. Zła tabela (
producent) i sortowanie po złym polu.Trzeba spełnić oba warunki naraz - typ „RAM” ORAZ producent „Kingston” - więc łączymy je
AND, a sortowanie od najtańszej to ORDER BY cena rosnąco (domyślnie, lub ASC). Wybieramy model z tabeli podzespoly. Dlatego ta kwerenda jest poprawna.Pozostałe zapytania zawodzą.
OR zwróciłby wszystkie RAM-y oraz wszystkie produkty Kingston (także inne typy), a nie ich część wspólną. Sortowanie malejące (DESC) dałoby kolejność od najdroższej, a FROM producent myli tabelę z kolumną. Poprawne jest połączenie AND z ORDER BY cena rosnąco.