parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

to all: замечательный сайт sql.ru

Килька 18.03.2004 13:28

www.sql.ru\docs\sql\u_sql\ch3.htm

[cut]
Рисунок 3. 4: SELECT с дублированием номеров продавцов.

Для получения списка без дубликатов, для удобочитаемости, вы можете ввести следующее:

SELECT DISTINCT snum
FROM Orders;

Вывод для этого запроса показан в Рисунке 3.5.

Другими словами, DISTINCT следит за тем, какие значения были ранее, так что бы они не были продублированы в списке. Это - полезный способ избежать избыточности данных, но важно что бы при этом вы понимали что вы делаете. Если вы не хотите потерять некоторые данные, вы не должны безоглядно использовать DISTINCT, потому что это может скрыть какую-то проблему или какие-то важные данные. Например, вы могли бы предположить что имена всех ваших заказчиков различны. Если кто-то помещает второго Clemens в таблицу Заказчиков, а вы используете SELECT DISTINCT cname, вы не будете даже знать о существовании двойника. Вы можете получить не того Clemens и даже не знать об этом. Так как вы не ожидаете избыточности, в этом случае вы не должны использовать DISTINCT.
[/cut]