Я использую сайт (http://www.w3schools.com/sql/sql_union.asp), и я пытаюсь понять UNION
и UNION ALL
. Небольшая часть таблиц «Клиенты» и «Поставщики» приведена в изображении ниже.Союз для столбцов разных типов данных в SQL
Я запутался, почему, когда я бегу UNION
для колонн City
от Customers
и PostalCode
из Suppliers
которые Колонны различных типов данных я не получаю сообщение об ошибке. (Посещение в Image 2)
Спасибо
Союз объединяет два набора результатов вместе в один конечный набор результатов, но они имеют одинаковые начальные столбцы. Поэтому, если вы объединяете эти два запроса, как вы предположили, в итоге вы получите столбцы и почтовые индексы в той же колонке. Union ALL просто делает то же самое, но ничего не бросает, обычный Union тянет отдельные записи. – Zack
Возможно, он использует тип данных первой таблицы или может использовать наименее ограничивающий тип данных. Попробуйте изменить порядок двух сторон профсоюза и посмотреть, что произойдет. –
Вне пределов персонажей Varchars я не вижу, как они будут разными типами данных. Оба они выглядят как varchars, так как ни один числовой/целочисленный тип данных не вернет целые числа с начальным нулем. – Zack