MS Access - Predikát DISTINCT

14. 12. 2012, Vladimír Klaus, přečteno 7153x

MS Access
SQL

Ještě se na chvíli vrátíme k příkazu SELECT. Co když budete chtít znát všechna města, ze kterých jsou vaši zákazníci. Tady filtrování pomocí WHERE nepomůže, proto je tu další pomůcka.

Tímto zjistíte ona města, ale ve výpisu budou pouze 1x. To zajistí příkaz DISTINCT, který všechny duplicity odstraní.

SELECT DISTINCT Mesto FROM Zakaznici

SQL obrázek

Poznámka: Uvedený dotaz je ekvivalentní s tím následujícím. Proč tomu tak je, se dočtete v části GROUP BY.

SELECT Mesto FROM Zakaznici GROUP BY Mesto

A teď malá otázka.  Co bude výsledkem následujícího dotazu?

SELECT DISTINCT * FROM Zakaznici

SQL obrázek

Ano, bude to úplně celá tabulka zákazníků, protože neexistují dva úplně stejní zákazníci. A oni vlastně z principu nikdy dva stejní zákazníci existovat nemohou, protože se vždy budou lišit minimálně v poli ID. Výše uvedený dotaz je tedy úplně k ničemu.