в чем разница между union и join
Форум пользователей MySQL
Задавайте вопросы, мы ответим
Страниц: 1
#1 15.12.2010 18:55:56
Не могу понять разницу в операторахобьединения
Уважаемые участники форума, прошу Вашей помощи.
Сегодня читал про обьединение таблиц посредством JOIN, UNION, и так же о вложенных запросах.
Не могу никак понять разницу между JOIN и UNION и влоенными запросами(((((
Прошу обьяснить мне бестолковому(((
Буду искренне благодарен.
#2 15.12.2010 19:22:20
Re: Не могу понять разницу в операторахобьединения
А где читали? Посмотрите в документации, там приведены примеры.
#3 15.12.2010 19:30:26
Re: Не могу понять разницу в операторахобьединения
1. UNION. Представьте себе, что у Вас есть две корзины с яблоками.
UNION позволяет выбрать сначала яблоки из одной корзины, а потом
из другой. Грубо говоря, это две независимые выборки с одинаковым
количеством столбцов, просто собранные в одну.
(SELECT яблоко FROM перваякорзина)
UNION
(SELECT яблоко FROM втораякорзина)
2. JOIN. Их используют тогда, когда выбираются разнородные данные.
Например, у Вас есть корзина с красными и зелеными яблоками, и
сумка с наклейками с ценами. Вам нужно брать каждое яблоко из
корзины, и выбирать из сумки этикетку, соответствующую яблоку.
SELECT яблоко, этикетка
FROM корзина JOIN сумка ON (сумка.наэтикеткенаписано = корзина.цветяблока)
3. Подзапросы. Это просто более наглядный способ получать разнород-
ную информацию. Любой JOIN можно переписать в виде подзапроса
(но обратное не верно).
SELECT яблоко, (SELECT этикетка FROM сумка WHERE наэтикеткенаписано = корзина.цветяблока) AS этикетка
FROM корзина
В чем разница между JOIN и UNION?
ОТВЕТЫ
Ответ 1
аналогичный тривиальный пример JOIN :
Ответ 2
UNION объединяет результаты двух или более запросов в единый результирующий набор, включающий все строки, принадлежащие всем запросов в союзе.
Используя JOINs, вы можете извлекать данные из двух или более таблиц на основе логических отношений между таблицами. Соединения указывают, как SQL должен использовать данные из одной таблицы для выбора строк в другой таблице.
Операция UNION отличается от использования JOINs, которые объединяют столбцы из двух таблиц.
Ответ 3
Соединение используется для отображения столбцов с тем же или разные имена из разных таблиц. Выведенный вывод будут отображаться все столбцы отдельно. Это столбцы будут выровнены рядом друг с другом.
UNION:
Оператор набора UNION используется для объединения данных из двух таблицы с колонками с одинаковым типом данных. Когда выполняется UNION, данные из обеих таблиц будут собранные в одном столбце с одинаковым типом данных.
Смотрите две таблицы, показанные ниже:
Теперь для выполнения типа JOIN запрос показан ниже.
UNION означает, что у вас есть таблицы или результаты с помощью то же количество и тип столбцов, и вы добавляете это в таблиц/результатов. Посмотрите на этот пример:
Ответ 4
Вы можете увидеть те же схематические объяснения для обоих, но они полностью запутывают.
Ответ 5
Это совершенно разные вещи.
A join позволяет связать похожие данные в разных таблицах.
Объединение возвращает результаты двух разных запросов в виде одного набора записей.
Ответ 6
Союз делает два запроса похожими на один. Соединения предназначены для проверки двух или более таблиц в одном заявлении запроса
Ответ 7
Соединения и союзы могут использоваться для объединения данных из одной или нескольких таблиц. Разница заключается в том, как данные объединяются.
В простых терминах объединяет данные в новые столбцы. Если две таблицы объединены вместе, то данные из первой таблицы отображаются в одном наборе столбцов рядом со столбцом вторых таблиц в той же строке.
Союзы объединяют данные в новые строки. Если две таблицы объединены вместе, то данные из первой таблицы находятся в одном наборе строк, а данные из второй таблицы в другом наборе, Строки имеют одинаковый результат.
Вот визуальное изображение соединения. Столбцы A и Bs объединены в один результат.
Каждая строка в результате содержит столбцы из BOTH таблицы A и B. Строки создаются, когда столбцы из одной таблицы соответствуют столбцам из другого. Это совпадение называется условием объединения.
Это делает объединения действительно отличными для поиска значений и их включения в результаты. Обычно это результат денормализации (реверсирование нормализации) и предполагает использование внешнего ключа в одной таблице для поиска значений столбца с использованием первичного ключа в другом.
Теперь сравните приведенное выше изображение с изображением объединения. В объединении каждая строка в результате получается из одной таблицы ИЛИ другой. В объединении столбцы arent объединены для создания результатов, строки объединяются.
Оба объединения и объединения могут использоваться для объединения данных из одной или нескольких таблиц в один результат. Они оба обходятся по-разному. В то время как объединение используется для объединения столбцов из разных таблиц, объединение используется для объединения строк.
Ответ 8
Соединения и объединения могут использоваться для объединения данных из одной или нескольких таблиц. Разница заключается в том, как данные объединяются.
В простых терминах объединения объединяют данные в новые столбцы. Если две таблицы объединены вместе, то данные из первой таблицы отображаются в одном наборе столбцов рядом со столбцом вторых таблиц в той же строке.
Союзы объединяют данные в новые строки. Если две таблицы объединены вместе, то данные из первой таблицы находятся в одном наборе строк, а данные из второй таблицы в другом наборе. Строки имеют одинаковый результат.
Ответ 9
Помните, что объединение объединит результаты (SQL Server, чтобы убедиться) (функция или ошибка?)
идентификатор, значение, идентификатор, значение
Ответ 10
2. Оператор SQL UNION объединяет результат двух или более операторов SELECT. Каждый оператор SELECT в UNION должен иметь одинаковое количество столбцов. Столбцы также должны иметь похожие типы данных. Кроме того, столбцы в каждой инструкции SELECT должны быть в том же порядке.
например: таблица 1 заказчики/таблица 2 заказы
SELECT ID, NAME, AMOUNT, DATE
ВХОДНЫЕ ЗАКАЗЫ ВНУТРЕННЕГО СОБЫТИЯ
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
SELECT ID, NAME, AMOUNT, DATE
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
ИДЕНТИФИКАТОР SELECT, NAME, AMOUNT, DATE ОТ КЛИЕНТОВ
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Ответ 11
Оператор UNION предназначен только для объединения двух или более операторов SELECT.
В то время как JOIN предназначен для выбора строк из каждой таблицы, либо с помощью внутреннего, внешнего, левого или правого метода.
Обратитесь к здесь и здесь. Более хорошее объяснение с примерами.
Ответ 12
Любой современный DBS, например MariaDB, реализует команду UNION JOIN. Это команда SQL 3, но она не известна или не используется. Узнайте больше о UNION JOIN.
Ответ 13
В реферате они схожи, поскольку две таблицы или результирующие наборы объединяются, но UNION действительно предназначен для объединения наборов результатов с ТОЛЬКО КОЛИЧЕСТВО КОЛОНКИ с КОЛОНКАМИ, ИМЕЮЩИМИ ТАЙПИРОВАННЫЕ ТИПЫ ДАННЫХ. СТРУКТУРА такая же, добавляются только новые строки.
В соединениях вы можете комбинировать таблицы/результирующие наборы с любой возможной структурой, включая декартовое соединение, в котором нет общих/похожих столбцов.
В чем разница между JOIN и UNION?
похожий тривиальный пример JOIN :
UNION объединяет результаты двух или более запросов в один набор результатов, который включает все строки, принадлежащие всем запросам в объединении.
Операция UNION отличается от использования JOIN, которые объединяют столбцы из двух таблиц.
Вы можете увидеть одни и те же схематические объяснения для обоих, но они полностью сбивают с толку.
ПРИСОЕДИНИТЬСЯ:
Объединение используется для отображения столбцов с одинаковыми или разными именами из разных таблиц. Вывод отображается Будет иметь все столбцы, показанные по отдельности. То есть столбцы Будут выровнены рядом друг с другом.
UNION:
Смотрите две таблицы, показанные ниже:
Теперь для выполнения типа JOIN запрос показан ниже.
UNION означает, что у вас есть таблицы или наборы результатов с одинаковым количеством и типом столбцов И вы добавляете их в Таблицы/наборы результатов вместе. Посмотрите на этот пример:
Объединения и объединения могут использоваться для объединения данных из одной или нескольких таблиц. Разница заключается в том, как данные объединяются.
Проще говоря, объединения объединяют данные в новые столбцы. Если две таблицы объединены, то данные из первой таблицы отображаются в одном наборе столбцов рядом со столбцом второй таблицы в той же строке.
Вот визуальное изображение объединения. Столбцы таблиц A и B объединены в один результат.
Каждая строка в результате содержит столбцы из ОБА таблицы A и B. Строки создаются, когда столбцы из одной таблицы соответствуют столбцам из другой. Это совпадение называется условием соединения.
Это делает объединения действительно хорошими для поиска значений и включения их в результаты. Обычно это является результатом денормализации (обратной нормализации) и включает использование внешнего ключа в одной таблице для поиска значений столбцов с использованием первичного ключа в другой.
Теперь сравните вышеприведенное изображение с изображением союза. В объединении каждая строка в результате получается из одной таблицы OR другой. В объединении столбцы не объединяются для создания результатов, строки объединяются.
Как объединения, так и объединения можно использовать для объединения данных из одной или нескольких таблиц в один результат. Они оба идут об этом разными путями. В то время как объединение используется для объединения столбцов из разных таблиц, объединение используется для объединения строк.
В чем разница между JOIN и UNION?
13 ответов
аналогичный тривиальный пример JOIN :
UNION объединяет результаты двух или более запросов в единый результирующий набор, включающий все строки, принадлежащие всем запросов в союзе.
Используя JOINs, вы можете извлекать данные из двух или более таблиц на основе логических отношений между таблицами. Соединения указывают, как SQL должен использовать данные из одной таблицы для выбора строк в другой таблице.
Операция UNION отличается от использования JOINs, которые объединяют столбцы из двух таблиц.
Соединение используется для отображения столбцов с тем же или разные имена из разных таблиц. Выведенный вывод будут отображаться все столбцы отдельно. Это столбцы будут выровнены рядом друг с другом.
UNION:
Оператор набора UNION используется для объединения данных из двух таблицы с колонками с одинаковым типом данных. Когда выполняется UNION, данные из обеих таблиц будут собранные в одном столбце с одинаковым типом данных.
Смотрите две таблицы, показанные ниже:
Теперь для выполнения типа JOIN запрос показан ниже.
UNION означает, что у вас есть таблицы или результаты с помощью то же количество и тип столбцов, и вы добавляете это в таблиц/результатов. Посмотрите на этот пример:
Вы можете увидеть те же схематические объяснения для обоих, но они полностью запутывают.
Это совершенно разные вещи.
A join позволяет связать похожие данные в разных таблицах.
Объединение возвращает результаты двух разных запросов в виде одного набора записей.
Союз делает два запроса похожими на один. Соединения предназначены для проверки двух или более таблиц в одном заявлении запроса
Соединения и союзы могут использоваться для объединения данных из одной или нескольких таблиц. Разница заключается в том, как данные объединяются.
В простых терминах объединяет данные в новые столбцы. Если две таблицы объединены вместе, то данные из первой таблицы отображаются в одном наборе столбцов рядом со столбцом вторых таблиц в той же строке.
Союзы объединяют данные в новые строки. Если две таблицы объединены вместе, то данные из первой таблицы находятся в одном наборе строк, а данные из второй таблицы в другом наборе, Строки имеют одинаковый результат.
Вот визуальное изображение соединения. Столбцы A и Bs объединены в один результат.
Каждая строка в результате содержит столбцы из BOTH таблицы A и B. Строки создаются, когда столбцы из одной таблицы соответствуют столбцам из другого. Это совпадение называется условием объединения.
Это делает объединения действительно отличными для поиска значений и их включения в результаты. Обычно это результат денормализации (реверсирование нормализации) и предполагает использование внешнего ключа в одной таблице для поиска значений столбца с использованием первичного ключа в другом.
Теперь сравните приведенное выше изображение с изображением объединения. В объединении каждая строка в результате получается из одной таблицы ИЛИ другой. В объединении столбцы arent объединены для создания результатов, строки объединяются.
Оба объединения и объединения могут использоваться для объединения данных из одной или нескольких таблиц в один результат. Они оба обходятся по-разному. В то время как объединение используется для объединения столбцов из разных таблиц, объединение используется для объединения строк.
В чем разница между JOIN и UNION?
Это совершенно разные вещи.
A join позволяет связать похожие данные в разных таблицах.
Объединение возвращает результаты двух разных запросов в виде одного набора записей.
аналогичный тривиальный пример JOIN :
UNION объединяет результаты двух или более запросов в единый результирующий набор, включающий все строки, принадлежащие всем запросов в союзе.
Используя JOINs, вы можете извлекать данные из двух или более таблиц на основе логических отношений между таблицами. Соединения указывают, как SQL должен использовать данные из одной таблицы для выбора строк в другой таблице.
Операция UNION отличается от использования JOINs, которые объединяют столбцы из двух таблиц.
Соединение используется для отображения столбцов с тем же или
разные имена из разных таблиц. Выведенный вывод
будут отображаться все столбцы отдельно. Это
столбцы будут выровнены рядом друг с другом.
UNION:
Оператор набора UNION используется для объединения данных из двух
таблицы с колонками с одинаковым типом данных.
Когда выполняется UNION, данные из обеих таблиц будут
собранные в одном столбце с одинаковым типом данных.
Смотрите две таблицы, показанные ниже:
Теперь для выполнения типа JOIN запрос показан ниже.
UNION означает, что у вас есть таблицы или результаты с помощью
то же количество и тип столбцов, и вы добавляете это в
таблиц/результатов. Посмотрите на этот пример:
Вы можете увидеть те же схематические объяснения для обоих, но они полностью запутывают.
Союз делает два запроса похожими на один. Соединения предназначены для проверки двух или более таблиц в одном заявлении запроса
Соединения и союзы могут использоваться для объединения данных из одной или нескольких таблиц. Разница заключается в том, как данные объединяются.
В простых терминах объединяет данные в новые столбцы. Если две таблицы объединены вместе, то данные из первой таблицы отображаются в одном наборе столбцов рядом со столбцом вторых таблиц в той же строке.
Союзы объединяют данные в новые строки. Если две таблицы объединены вместе, то данные из первой таблицы находятся в одном наборе строк, а данные из второй таблицы в другом наборе, Строки имеют одинаковый результат.
Вот визуальное изображение соединения. Столбцы A и Bs объединены в один результат.
Каждая строка в результате содержит столбцы из BOTH таблицы A и B. Строки создаются, когда столбцы из одной таблицы соответствуют столбцам из другого. Это совпадение называется условием объединения.
Это делает объединения действительно отличными для поиска значений и их включения в результаты. Обычно это результат денормализации (реверсирование нормализации) и предполагает использование внешнего ключа в одной таблице для поиска значений столбца с использованием первичного ключа в другом.
Теперь сравните приведенное выше изображение с изображением объединения. В объединении каждая строка в результате получается из одной таблицы ИЛИ другой. В объединении столбцы arent объединены для создания результатов, строки объединяются.
Оба объединения и объединения могут использоваться для объединения данных из одной или нескольких таблиц в один результат. Они оба обходятся по-разному. В то время как объединение используется для объединения столбцов из разных таблиц, объединение используется для объединения строк.