В вашем первом запросе SQL исходный кодер мог означать
ORDER BY 3
, что означает «порядок по 3-му столбцу» (то есть SupplierId
) в порядке возрастания.
Во втором запросе, как объяснил @Kokizzo, автор жестко закодировал запрос так, чтобы в верхней части находились товары из supplierId
2, за ними следуют товары из supplierId
1, а затем все строки от других поставщиков.Цель не ясна, но, например, это может быть гнусной попыткой продвинуть товары одного поставщика над другими, например, на странице результатов веб-поиска.
CASE WHEN .. ELSE ... END
можно приравнять к простой функцииприменяется к каждой строке, которая принимает supplierId
в качестве входных данных и возвращает приоритет этой строки, использованной в предложении ORDER BY
.