Если я использую UNION для создания нескольких SELECT из базы данных, считается один запрос? или несколько запросов?
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
Рассматривается ли это один запрос? или 2 вопроса?
(Я ограничен количеством запросов в час, и я хочу оптимизировать свой код)
Благодаря!
Из документации:
Оператор SQL UNION используется для объединения наборов результатов из 2 или более операторов SELECT. Он удаляет повторяющиеся строки между различными операторами SELECT.
Таким образом, ваш выбор 2 объединяется в один запрос;)
Это один из запросов, о котором говорили другие.
Я бы с осторожностью относился к этому подходу при кодировании в проект, если только две таблицы не имеют очень похожих данных по следующим причинам ..
A) Столбец столбца из table1
должен соответствовать количеству столбцов из выбора table2
. Вы можете обойти это, добавив столбцы NULL
.
B) Вы теряете имена столбцов со второго выбора.
C) Невозможно определить, какие строки из этой таблицы выходят из коробки. Вы можете обойти это, добавив столбец статического типа для каждого выбора.
D) Очень легко пропустить что-то и использовать неверные данные.
В качестве дополнительной заметки. Вы используете UNION
который удалит обманы из результатов, хотя может быть маловероятно, что у вас одинаковые данные в обеих таблицах; если вы пытаетесь уменьшить количество запросов, похоже, вы концептуально хотите UNION ALL
.