четверг, 4 июня 2015 г.

последовательность выполнения sql запроса

SELECT name, COUNT(*) as cnt
FROM dbo.orderitem
WHERE parentid IS NULL
GROUP BY name 
HAVING COUNT(*) > 1
ORDER BY name

       Этот запрос возвращает наименования заказов количество позиций в которых превышают единицу.
       После запуска запроса SQL иинтерпритатор обрабатывает представленный выше запрос не той последовательности в которой он написан, а в несколько иной:
  1. FROM dbo.orderitem
  2. WHERE parentid is null
  3. GROUP BY name
  4. HAVING COUNT(*) > 1
  5. SELECT name, COUNT(*) as cnt
  6. ORDER BY name

пятница, 27 марта 2015 г.