Кстати, оригинальный план запросов строится при связке SalesLine - SalesTable по аналогичной схеме. Т.е. поиск всех строк одного заказа.
В этом случае та же "фишка". В случае Exist сначала сканируется SalesLine, а потом сверяется по SalesTable. НО! При этом в запрос по SalesLine сразу передается значение SalesId взятое "из воздуха". Вот на основании чего MS SQL решает, что скаляр для SalesTable.SalesId подходит как скаляр для SalesLine.SalesId?
|