РАЗБОР AppSec

Вопрос по Microsoft SQL Server

Guest Автор недоступен
6,5 тыс.
[ обложка статьи ]
Режим чтения
Можно ли сделать так, что бы запрос вроде

SELECT first.cname, second.cname, first.rating
FROM Customers first, Customers second
WHERE first.rating = second.rating;

не "переделывался" в

SELECT [first].CNAME, [second].CNAME AS Expr1, [first].RATING
FROM Customers [first] INNER JOIN
Customers [second] ON [first].RATING = [second].RATING

?
Полезно

Комментарии

2
Статус
Закрыто для дальнейших ответов.
2 Guest

1. Где это он так "переделывается" (т.е. в какой программе)?
2. На счет полей: Второе поле превратилось в Expr1 потому, что у Вас два поля с одинкаовым названием, CNAME, CNAME, RATING.
3. По поводу FROM:

FROM Customers first, Customers second
WHERE first.rating = second.rating;
и
FROM Customers [first] INNER JOIN
Customers [second] ON [first].RATING = [second].RATING

одно и тоже, только написано 2 разными способами...
 
Guest
одно и тоже, только написано 2 разными способами...

Sir Alex абсолютно прав. А происходит данное преобразования для уменьшения скорости обработки запроса. JOIN'ы выполняются быстрее, вот и Query optimizer MS Server'а переделывает.
 
Статус
Закрыто для дальнейших ответов.