Можем ли мы иметь несколько псевдонимов для одной таблицы?Несколько псевдонимов для таблицы
ответ
Да. Вы должны сделать это для self join,, например, F у вас есть таблица, хранящая иерархия:
create table Foo (
FooID int
,ParentFooID int
,[columns]
)
Вы можете сделать присоединиться, чтобы дети родителей, которые удовлетворяют определенное условие с запросом типа:
Select b.*
from Foo a
join Foo b
on a.FooID = b.ParentFooID
and [some condition filtering a]
+1 за полномочия умозаключения! –
Но это повлияет на производительность или нет? –
Оптимизатор запросов должен будет делать все, что необходимо для разрешения предиката соединения. Например, если таблица большая и имеет индекс в ParentFooID, вероятно, придется искать индексы для разрешения объединения FooID - ParentFooID. Выполнение матча всегда будет связано с некоторыми ресурсами. – ConcernedOfTunbridgeWells
Нет, не на одной таблице, но вы можете выбрать одну и ту же таблицу дважды и дать каждому другой псевдоним.
SELECT alias1.*, alias2.*
FROM mytable alias1, mytable alias2
Это позволит вам использовать ту же таблицу для другой цели в рамках одного запроса.
Но это повлияет на производительность или нет? –
Да, если вы выберете таблицу дважды, вам придется делать в два раза больше работы. Производительность будет зависеть от того, как они используются, к чему они присоединены, и индексов и статистики, доступных для оптимизатора запросов. –
Поскольку запрос Криса не имеет условия соединения (неявный или эксплицитный), ожидается декартовое соединение - т.е. каждая строка в таблице будет связана со всеми строками в одной и той же таблице, поэтому, если у вас было 20 строк в таблице, ваш результат будет 400 строк! Это намного хуже, чем в два раза больше работы. Тем не менее, это не псевдонимы, которые вызывают работу - это декартово соединение. –
- 1. Несколько псевдонимов для множественных объединений?
- 2. несколько псевдонимов для типа T
- 3. создать несколько псевдонимов для одного класса | PHP
- 4. Несколько псевдонимов для однострочного импорта Python
- 5. Как выбрать несколько столбцов псевдонимов из той же таблицы
- 6. Запрос о MySQL таблицы псевдонимов
- 7. Несколько псевдонимов одного столбца таблицы с Eloquent ORM
- 8. несколько псевдонимов в if-statement
- 9. Создайте несколько псевдонимов с «помощью»
- 10. Проблемы с SQL таблицы псевдонимов
- 11. SQL псевдонимов для подзапроса
- 12. Добавление псевдонимов для макрокоманд
- 13. Правильное использование псевдонимов таблицы в Hibernate Interceptor
- 14. Реализация таблицы псевдонимов (саморегуляция многих-ко-многим)
- 15. Oracle неверный идентификатор при использовании таблицы псевдонимов
- 16. несколько псевдонимов в KISSmetrics CSV-импорта
- 17. Сглаживание псевдонимов для шаблонов
- 18. theme_links для псевдонимов
- 19. запрос для dns-псевдонимов
- 20. Ошибка в улей запроса Invalid таблицы псевдонимов
- 21. Как избежать кавычки таблицы псевдонимов в jOOQ
- 22. Как настроить несколько псевдонимов между двумя моделями?
- 23. RegEx для захвата таблицы имен и псевдонимов из оператора SQL
- 24. Заказ по одному из двух псевдонимов (для отношений одной таблицы)
- 25. Маркировка псевдонимов
- 26. несколько псевдонимов для нескольких виртуальных хоста одновременно HTTPd
- 27. Методы для псевдонимов в C#?
- 28. автообъединение: SQL Ошибка синтаксического анализа на таблицы псевдонимов
- 29. База данных общих псевдонимов имен/псевдонимов людей
- 30. псевдонимов (Sendmail) для перенаправления писем
Зачем вам это нужно? У вас есть конкретный запрос, который не работает? –
для чего вам нужно? –
Самостоятельно присоединяется или таблицы, которые живут в нескольких ролях. Примером последней может быть таблица измерений даты, которая объединяется в таблицу фактов с несколькими датами на ней. – ConcernedOfTunbridgeWells