Вопрос по Microsoft SQL Server

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Гость
#1
Можно ли сделать так, что бы запрос вроде

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

?
 
S

Sir Alex

Гость
#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 разными способами...
 
?

????

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