Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Сортировка данных

Сортировка по положению столбца

       Порядок сортировки можно указать не только по именам столбцов, но и по относительному положению столбца (проще говоря — по номеру столбца). Чтобы лучше понять это, рассмотрим пример:

SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3;



prod id      prod_price     prod name 
----------   ------------   ------------------
BNBG02       3.4900         Bird bean bag toy
BNBGOl       3.4900         Fish bean bag toy
BNBG03       3.4900         Rabbit bean bag toy
RGANOl       4.9900         Raggedy Ann
BROl         5.9900         8 inch teddy bear
BR02         8.9900         12 inch teddy bear     
RYL          9.4900         King doll
Ol           9.4900         Queen doll
RYL02        11.9900        18 inch teddy bear 

     Как видите, результат выполнения запроса идентичен предыдущему примеру. Разница только в предложении ORDER BY. Здесь мы не указывали имена столбцов, вместо этого было оговорено их относительное положение в указанном списке SELECT. Предложение ORDER BY 2 означает сортировку по второму столбцу списка SELECT, а именно по столбцу prod_price. Предложение ORDER BY 2, 3 означает сортировку по столбцу prod_price, а затем по столбцу prod_name

     Основное преимущество данного метода заключается в том, что не нужно несколько раз набирать в запросе имена столбцов. Однако имеются и недостатки. Во-первых, неконкретное перечисление столбцов повышает вероятность того, что вы случайно укажете не тот столбец. Во-вторых, можно случайно сменить порядок данных при изменении списка SELECT (при этом забыв внести соответствующие изменения в предложение ORDER BY). И наконец, очевидно, нельзя использовать этот метод для сортировки по столбцам, не указанным в списке SELECT

Сортировка по невыбранным столбцам

Очевидно, что этот метод нельзя использовать при сортировке по столбцам, не указанным в списке SELECT. Однако при необходимости можно в одном операторе указывать реальные имена столбцов и их относительные положения.