Обязательно ли использовать псевдонимы в запросе выбора в Oracle? - PullRequest
1 голос
/ 22 января 2012

РЕДАКТИРОВАТЬ: удалось проверить все это, и я думаю, что мой друг был не прав здесь, спасибо за помощь, люди.

Из того, что я понимаю, второй пример (с псевдонимом) полезен при обращении к полю типа объекта. Например, я пошел дальше и создал таблицу объектов 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 и я хотел сослаться на поле этого типа), но должен ли я использовать его вообще?

Ответы [ 3 ]

2 голосов
/ 22 января 2012

Псевдонимы требуются только в том случае, если вы дважды ссылаетесь на одну и ту же таблицу (или ссылаетесь на производную таблицу с другим именем)

Большинство людей используют их при работе с несколькими таблицами, потому что это делает запрос более читабельным, чем использование длинных имен таблиц.

При работе с одной таблицей я обычно не использую их как дополнительный текст без причины.

1 голос
/ 22 января 2012

предполагает, что я должен использовать псевдоним, поскольку это объект

Должен довольно сильный. Вы можете использовать его, вероятно, будет использовать его, особенно при выполнении объединения нескольких таблиц, так что вы можете ссылаться на таблицы по их коротким псевдонимам вместо их длинных имен.

0 голосов
/ 23 января 2012

Псевдоним не является обязательным. Только для нашего понимания мы используем псевдоним в SQL-запросе.

...