Ось інший приклад, який не можна переписати без псевдонімів (не можна GROUP BY DISTINCT).
Уявіть таблицю під назвою, в purchasesякій записуються покупки, зроблені customersв stores, тобто це таблиця багато-багато, і програмне забезпечення повинно знати, які клієнти здійснювали покупки в більш ніж одному магазині:
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases)
GROUP BY customer_id HAVING 1 < SUM(1);
.. перерветься з помилкою Every derived table must have its own alias. Виправити:
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases) AS custom
GROUP BY customer_id HAVING 1 < SUM(1);
(Зверніть увагу на AS customпсевдонім).