Пример SELECT запроса

Рассмотрим простой SQL запрос:

-- данные, которые мы извлекаем
select emp.name,
       emp.last_name,
       emp.age,
       dept.name 
from employees emp
join departments dept on dept.id = emp.department_id -- соединение
where (emp.id = 10 and emp.age > 25) -- условие выборки
order by name desc -- сортировка

Конечно, запрос может выглядеть и по-другому, но в целом данный пример раскрывает большую часть из структуры SELECT запроса.

Порядок выполнения

Очень важно понимать, в каком порядке выполняется запрос.

  1. Сначала происходит соединение таблиц, если таковое имеется
  2. Затем выборка фильтруется условием where
  3. После этого набор данных извлекается из БД. Все функции, которые указаны в части SELECT, выполняются для каждой строки из набора данных
  4. И только затем этот набор данных сотрируется в указанном порядке

Сейчас это может показаться не столь важным, но знания о порядке выполнения запроса пригодятся, когда мы будем рассматривать запросы с использованием псевдостолбца ROWNUM.

Комментарии