Комментарии 6
НЛО прилетело и опубликовало эту надпись здесь
За счет того что в первом случае выполнится 2 подзапроса (один для получения emp.ID, а второй для emp.Name) для каждой строки, а в случае APPLY только один (и emp.ID и emp.Name получаются одним подзапросом).
Вот планы обоих запросов:
Вот планы обоих запросов:
0
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за комментарий!
Да, я знаю, что при помощи APPLY можно вызывать функции, возвращающие TABLE, но и в таком виде их можно иногда использовать. Учебник посвящен именно теме чистого SQL (без применения TSQL) и в большей степени для людей, только начинающих его изучать. Первым делом я пытался донести понимание сути именно базовых конструкций, на них и сделан в первую очередь основной упор – три части посвящено именно им и только один раздел посвящен теме подзапросов, потому что на больших наборах они действительно очень неэффективны.
Я и сам стараюсь как можно реже прибегать к использованию подзапросов, поэтому я написал:
Да, я знаю, что при помощи APPLY можно вызывать функции, возвращающие TABLE, но и в таком виде их можно иногда использовать. Учебник посвящен именно теме чистого SQL (без применения TSQL) и в большей степени для людей, только начинающих его изучать. Первым делом я пытался донести понимание сути именно базовых конструкций, на них и сделан в первую очередь основной упор – три части посвящено именно им и только один раздел посвящен теме подзапросов, потому что на больших наборах они действительно очень неэффективны.
Я и сам стараюсь как можно реже прибегать к использованию подзапросов, поэтому я написал:
Но я бы рекомендовал в первую очередь всегда пытаться решить задачу стандартными конструкциями оператора SELECT, и, если этого не получается, прибегать к помощи подзапросов.
0
Замечательная статья, толково! :)
Спасибо!
Можно добавить, разве что, явное сравнение размещения подзапросов во FROM (JOIN) с использованием оных внутри WHERE.
Спасибо!
Можно добавить, разве что, явное сравнение размещения подзапросов во FROM (JOIN) с использованием оных внутри WHERE.
0
Отличная статья. Спасибо.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть четвертая