Tabela programy ma kolumny nazwa, producent, rokWydania. Która kwerenda zwróci producentów BEZ powtórzeń?
A.
SELECT producent FROM programy WHERE UNIQUE;
Źle. Błędna składnia
WHERE UNIQUE.B.
SELECT producent FROM programy WHERE producent NOT DUPLICATE;
Źle. Nie ma konstrukcji
NOT DUPLICATE.C.
SELECT DISTINCT producent FROM programy;
Dobrze.
DISTINCT usuwa powtórzenia z wyniku.D.
SELECT UNIQUE producent FROM programy;
Źle. W
SELECT nie używa się UNIQUE do usuwania duplikatów.Aby wypisać producentów bez powtórzeń, dopisuje się
DISTINCT zaraz po SELECT, przed nazwą kolumny: SELECT DISTINCT producent FROM programy;. Słowo to każe bazie pominąć duplikaty i zwrócić każdą nazwę producenta tylko raz. Dlatego ta kwerenda jest poprawna.Pozostałe zapisy są błędne składniowo.
SELECT UNIQUE producent używa słowa UNIQUE, które w SQL jest OGRANICZENIEM kolumny przy tworzeniu tabeli, a nie sposobem odsiewania duplikatów w zapytaniu (w MySQL nie zadziała). WHERE UNIQUE oraz WHERE producent NOT DUPLICATE to konstrukcje, które w SQL nie istnieją. Duplikaty usuwa SELECT DISTINCT producent FROM programy;.