РЕДАКТИРОВАТЬ: удалось проверить все это, и я думаю, что мой друг был не прав здесь, спасибо за помощь, люди.
Из того, что я понимаю, второй пример (с псевдонимом) полезен при обращении к полю типа объекта. Например, я пошел дальше и создал таблицу объектов managerType с именем manager со следующими атрибутами:
Name NameType(name VARCHAR2(30), surname VARCHAR2(30),
Address AddressType(First_Line VARCHAR2(30), City VARCHAR2(30), Post_Code VARCHAR2(8),
Salary NUMBER)
Теперь для этого вопроса мне нужно было найти город конкретного менеджера, чтобы следующее не работало:
SELECT City
FROM Manager
Where name like 'Jim';
Однако, это сработало:
SELECT m.address.city from Manager m
WHERE m.name.f_name LIKE 'Jim' AND m.name.l_name LIKE 'Smith';
Возможно, я бы мог избежать использования оператора AND здесь, если кто-нибудь знает, я был бы признателен за это. Я надеюсь, что это помогает кому-то. Спасибо.
Оригинальный вопрос
Это меня немного смутило. Я делаю прошлый экзаменационный лист для доработки, и по одному вопросу я должен получить зарплату всех менеджеров, имена которых начинаются с 'J', из таблицы объектов менеджера.
Я бы обычно делал следующее
SELECT salary
FROM Manager
WHERE name like 'J%';
Теперь один ученик пошёл и смутил меня, предложив использовать псевдоним, так как это таблица объектов, поэтому это будет что-то вроде:
SELECT m.Salary
FROM Manager m
WHERE name like 'J%';
Я знаю, что это полезно для доступа к полям в Oracle (скажем, если у меня был определенный пользователем тип в таблице Manager и я хотел сослаться на поле этого типа), но должен ли я использовать его вообще?