Докато обработваме данни в бази данни, често сме склонни да използваме зададените оператори в SQL , за извличане на данни според нашите изисквания чрез комбиниране на две или повече инструкции SELECT. В тази статия за SQL UNION ще обсъдя оператора UNION, използван за извличане на данни в следната последователност:
- Какво представлява операторът SQL UNION?
- Синтаксис:
- Разлики между UNION и UNION ALL
- Примери за SQL UNION:
Нека започнем!
Какво представлява операторът SQL UNION?
Както подсказва името, този оператор / клауза се използва за комбиниране на резултатите от две или повече инструкции SELECT. Тук всеки оператор SELECT, използван в оператора UNION, трябва да има еднакъв брой колони в същия ред. Също така всички колони, присъстващи в операторите SELECT, трябва да имат подобни типове данни.
Клаузата UNION дава само уникални стойности като изход. За всеки случай искате дублирани стойности, тогава трябва да използвате клаузата UNION ALL.
Продължавайки в тази статия за SQL UNION, нека разберем синтаксиса.
Синтаксис на SQL UNION
Синтаксис на UNION
ИЗБЕРЕТЕ Колона1, Колона2, Колона3, ..., КолонаN ОТ Таблица1 СЪЮЗ ИЗБЕРЕТЕ Колона1, Колона2, Колона3, ..., КолонаN ОТ Таблица2
UNION ALL Синтаксис
ИЗБЕРЕТЕ Колона1, Колона2, Колона3, ..., КолонаN ОТ Таблица1 СЪЮЗ ВСИЧКИ ИЗБОРИ Колона1, Колона2, Колона3, ..., КолонаN ОТ Таблица2
Продължавайки в тази статия, нека разберем разликите между UNION и UNION ALL.
Разлики между SQL UNION и UNION ALL
СЪЮЗ | СЪЮЗ ВСИЧКИ |
Комбинира два или повече резултата и не запазва дублираните стойности. | Комбинира два или повече резултата и запазва дублиращите се стойности. |
Синтаксис: СЪЮЗ | Синтаксис: СЪЮЗ ВСИЧКИ |
След това, в тази статия за SQL UNION, нека разберем различните начини за използване на този оператор.
Примери за SQL UNION и UNION ALL
За ваше по-добро разбиране ще разгледам следващите таблици, за да ви покажа различни примери.
Таблица на служителите
EmpID | Име | EmpAge | Град | Пощенски код | Страна |
един | Ема | 2. 3 | Берлин | 12109 | Германия |
2 | Рахул | 26 | Мумбай | 400015 | Индия |
3 | Айра | 24 | Ню Йорк | 10014 | ИЗПОЛЗВА |
4 | Джон | 32 | Лондон | E1 7AE | Великобритания |
5 | Дерек | 29 | Ню Йорк | 10012 | ИЗПОЛЗВА |
Таблица с проекти
ProjectID | Име | Работни дни | Град | Пощенски код | Страна |
един | Проект 1 | 10 | Берлин | 12109 | Германия |
2 | Проект 2 | 7 | Мумбай | 400015 | Индия |
3 | Проект 3 | двайсет | Делхи | 110006 | Индия |
4 | Проект 4 | петнадесет | Мумбай | 400015 | Индия |
5 | Проект 5 | 28 | Берлин | 12109 | Германия |
Нека започнем с примери.
Примери за SQL UNION
Пример за оператор UNION
Напишете заявка за извличане на различни градове от таблицата Служители и проекти.
ИЗБЕРЕТЕ Град ОТ Служители СЪЮЗ ИЗБЕРЕТЕ Град ОТ ПРОЕКТИ ПОРЪЧКА ПО Град
Изход:
Град |
Берлин |
Делхи |
Лондон jenkins срещу куклен срещу готвач |
Мумбай |
Ню Йорк |
UNION ALL Пример за оператор
Напишете заявка за извличане на градове от таблицата Служители и проекти. Тук трябва да се включат дублиращи се стойности.
ИЗБЕРЕТЕ Град ОТ Служители СЪЮЗ ВСИЧКИ ИЗБЕРЕТЕ Град ОТ ПРОЕКТИ ПОРЪЧКА ПО ГРАД
Изход:
Град |
Берлин |
Берлин |
Берлин |
Делхи |
Лондон функция за сортиране c ++ |
Мумбай |
Мумбай |
Мумбай |
Ню Йорк |
Ню Йорк |
След това в тази статия нека разберем как да използваме клаузата UNION с SQL псевдоними.
СЪЮЗ с SQL псевдоними
Използват се псевдоними на SQLза да даде на таблица или колона временно име. И така, нека напишем заявка, за да изброим всички уникални служители и проекти.
ИЗБЕРЕТЕ „Служител“ КАТО тип, име, град, държава ОТ служителите СЪЮЗ ИЗБЕРЕТЕ „проект“, име, град, държава ОТ проекти
Изход:
Тип | Име | Град | Страна |
Служител | Ема | Берлин | Германия |
Служител | Рахул | Мумбай | Индия |
Служител | Айра | Ню Йорк | ИЗПОЛЗВА |
Служител | Джон | Лондон | Великобритания |
Служител | Дерек | Ню Йорк | ИЗПОЛЗВА |
Проект | Проект 1 | Берлин | Германия |
Проект | Проект 2 | Мумбай | Индия |
Проект | Проект 3 | Делхи | Индия |
Проект | Проект 4 | Мумбай | Индия |
Проект | Проект 5 | Берлин | Германия |
UNION с клауза WHERE
Напишете заявка за извличане на отделните индийски градове и техните пощенски кодове от таблицата Служители и Проекти.
ИЗБЕРЕТЕ Град, Пощенски Код, Държава ОТ Служители КЪДЕ Държава = 'Индия' СЪЮЗ ИЗБЕРЕТЕ Град, Пощенски Код, Държава ОТ ПРОЕКТИ КЪДЕ Държава = 'Индия' ПОРЪЧКА ПО Град
Изход:
Град | Пощенски код | Страна |
Делхи | 110006 | Индия |
Мумбай | 400015 | Индия |
UNION ALL с клауза WHERE
Напишете заявка за извличане на индийски градове и техните пощенски кодове както от таблицата Служители, така и от проекти, където са позволени дублиращи се стойности
ИЗБЕРЕТЕ Град, Пощенски Код, Държава ОТ Служители КЪДЕ Държава = 'Индия' СЪЮЗ ВСИЧКИ ИЗБЕРЕТЕ Град, Пощенски Код, Държава ОТ ПРОЕКТИ КЪДЕ Държава = 'Индия' ПОРЪЧКА ПО Град
Изход:
Град | Пощенски код | Страна |
Делхи | 110006 | Индия |
Мумбай | 400015 | Индия |
Мумбай | 400015 | Индия |
Мумбай | 400015 | Индия |
Продължавайки напред в тази статия, нека разберем как да използваме клаузите UNION и UNION ALL с JOINS.JOINS в SQL са които се използват за комбиниране на редове от две или повече таблици въз основа на свързана колона между тези таблици.
СЪЮЗ с ПРИСЪЕДИНЯВА
Операторът SQL UNION може да се използва с за извличане на данни от две различни таблици. Ще разгледам следната таблица заедно с таблицата на служителите за примера.
Таблица ProjectDetails
PID | Работни дни | EmpID | CostforProject |
единадесет | 12 | 4 | 20000 |
22. | 16. | 3 | 35000 |
33 | 30 | един | 60000 |
44 | 25 | 3 | 45000 |
55 | двадесет и едно | един | 50 000 |
ИЗБЕРЕТЕ EmpID, Име, CostforProject ОТ НАЕМИТЕ НАЛЯВО СЕ ПРИСЪЕДИНЯВАТЕ ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ИЗБЕРЕТЕ EmpID, Име, CostforProject ОТ СЛУЖИТЕЛИ ПРАВО СЕ ПРИСЪЕДИНЕТЕ ProjectDetails ON Служители.EmpID = ProjectDetails.EmpID
Изход:
EmpID | Име | CostforProject |
един | Ема | 60000 |
един | Ема | 50 000 |
2 | Рахул | НУЛА |
3 | Айра | 35000 |
3 | Айра | 45000 |
4 | Джон | 20000 |
5 | Дерек | НУЛА |
UNION ALL със JOINS
Напишете заявка за извличане на EmpID, Name и CostforProject от таблицата Служители и ProjectDetails, където са позволени дублиращи се стойности.
ИЗБЕРЕТЕ EmpID, Име, CostforProject ОТ СЛУЖИТЕ НАЛЯВО СЕ ПРИСЪЕДИНЯВАТЕ ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ВСИЧКИ ИЗБЕРЕТЕ EmpID, Име, CostforProject ОТ Служители ПРАВО СЕ ПРИСЪЕДИНЕТЕ ProjectDetails НА Служители.EmpID = ProjectDetails.EmpID
Изход:
EmpID | Име | CostforProject |
един | Ема | 60000 |
един | Ема | 50 000 |
2 | Рахул | НУЛА |
3 | Айра | 35000 |
3 | Айра | 45000 |
4 | Джон | 20000 |
5 | Дерек | НУЛА |
4 | Джон | 20000 |
3 | Айра | 35000 |
един | Ема | 60000 |
3 | Айра | 35000 |
един | Ема | 50 000 |
С това стигам до края на тази статия за SQL UNION. Надявам се да ви е харесало да прочетете тази статия за SQL UNION. Видяхме различните начини за използване на командите UNION и UNION ALL, които да ви помогнат да пишете заявки. Ако искате да научите повече за MySQL и се запознайте с тази релационна база данни с отворен код, след това разгледайте нашата което се предлага с обучение под ръководството на инструктори на живо и опит в реалния живот на проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на „SQL UNION“ и ще се свържа с вас.