W bazie danych MYSQL znajduje się tabela z programami komputerowymi, która ma pola: nazwa, producent, rokWydania. Jak należy sformułować kwerendę SELECT, aby uzyskać wszystkie nazwy producentów bez powtórzeń?
Odpowiedź 'SELECT DISTINCT producent FROM programy;' jest w porządku. To dlatego, że kluczowe słowo DISTINCT działa tak, że zwraca tylko unikalne wartości z kolumny 'producent' w tabeli 'programy'. Jak są duże zbiory danych, to użycie DISTINCT naprawdę się przydaje, bo pozwala pozbyć się duplikatów i to później ułatwia analizę danych. Na przykład, kiedy w tabeli jest mnóstwo rekordów dla tego samego producenta, to DISTINCT zwróci tylko jeden wpis dla każdego z nich. Wiesz, to taka dobra praktyka w SQL, bo im mniej danych musisz przetwarzać, tym lepsza wydajność. I, co ciekawe, użycie DISTINCT nie obniża wydajności zapytania tak bardzo, jak niektórzy mogą myśleć, szczególnie w dobrze zindeksowanych tabelach. Warto to mieć na uwadze.
Odpowiedzi oparte na słowie kluczowym UNIQUE są po prostu błędne, bo w SQL nie ma takiej klauzuli jak WHERE UNIQUE. To może być mylące, bo niektórzy użytkownicy mogą myśleć, że UNIQUE jest tym samym co DISTINCT. Klauzula UNIQUE jest używana, żeby ustalić unikalność w strukturze tabel, a nie w kontekście zapytań. A używanie 'WHERE producent NOT DUPLICATE' też jest nietrafione, bo słowo 'DUPLICATE' nie istnieje w SQL. Zamiast tego, żeby eliminować duplikaty, używamy DISTINCT. Często błędne zrozumienie SQL bierze się z tego, że ludzie mylą różne klauzule i ich zastosowania. Kiedy piszesz zapytania SQL, ważne jest, żeby wiedzieć, które kluczowe słowa pasują do konkretnej akcji i co one oznaczają, gdy chodzi o dane.