В чем разница между JOINS и UNIONS в Oracle?

3 Ответы


  • Этот вопрос задает большинство. Я думаю, что единственная причина, по которой люди сбиты с толку, заключается в том, что оба эти оператора используются для объединения двух или более наборов строк. Но они оба очень разные понятия и используются при разных обстоятельствах. Они определенно не эквивалентны. В чем разница?
    Объединения обычно используются для объединения строк из нескольких таблиц. Существуют разные типы соединений, например внутренние и внешние. Внутренние объединения возвращают все строки из нескольких таблиц, для которых установлено условие, тогда как внешнее объединение возвращает все строки из одной таблицы и только те строки из вторичной таблицы, в которых выполнено условие объединения.
    Теперь переходим к союзу. Это оператор множества. Предположим, у вас есть
    Col1
    A
    Col2
    B

    Col1 union Col2 возвращает
    A
    B

    Разница между ними в том, когда использовать.
    Объединение используется, когда мы хотим отфильтровать строки на основе (перекрестное умножение / вычитание / минус и т. Д.), А в таблицах, к которым применяется объединение, разное или одинаковое количество столбцов.
    Объединение в основном используется для объединения двух или более наборов с номером / типом / именем столбца. Следует отметить, что оператор объединения может применяться только в том случае, если количество и типы данных столбцов в двух таблицах совпадают.
  • Я думаю, что если мы хотим извлекать данные из двух таблиц на основе условия, то объединение - лучший вариант. В противном случае мы можем использовать операции набора, чтобы просто объединить наборы данных из разных таблиц. Более того, запросы, содержащие соединение, занимают больше времени, чем операции набора. работать.
    Если у вас есть другие отличия, пожалуйста, ответьте.
  • Общим в объединении и объединении является то, что оба они используются для объединения данных из более чем одной таблицы или более чем одной строки. Но между ними есть большая разница.
    МЫ используем оператор соединения, когда хотим объединить данные, используя любое условие. Например, я хочу объединить данные из двух таблиц при условии, что все сотрудники с окладом менее 2000 не будут включены. Затем я могу применить операцию соединения, потому что я хочу объединить данные из двух разных таблиц, используя условие, при котором все сотрудники должны иметь зарплату менее 2000.

    Union также используется для объединения данных из более чем одной таблицы, но он имеет повторяющиеся значения и может применяться только тогда, когда обе таблицы имеют одинаковые типы данных. Например, я хочу объединить данные из таблицы EMP и таблицы супервизора, и если обе таблицы имеют один и тот же тип данных, я могу применить операцию объединения, но если типы данных разные, это невозможно. Команда Union не используется с условием.

Напишите свой ответ

Ваш ответ появится после модерации