УНИОН и УНИОН АЛЛ су два најважнија СКЛ оператора који се користе у бази података за комбиновање скупа резултата из више табела. Ови оператори нам омогућавају да користимо више СЕЛЕЦТ упита, добијемо жељене резултате, а затим их комбинујемо у коначни излаз . У овом чланку ћемо видети како се разликују једни од других. Пре него што направимо поређење, укратко ћемо разговарати о овим оператерима.
Шта је оператер Уније?
Оператор синдиката у МиСКЛ-у нам омогућава да комбинујемо два или више резултата из више СЕЛЕЦТ упита у један скуп резултата. Има подразумевану функцију за уклоните дупле редове са столова. Ова синтакса оператора увек користи име колоне у првој изјави СЕЛЕЦТ да буде имена колона излаза.
МиСКЛ Синдикат мора да поштује ова основна правила:
- Број и редослед колона треба да буду исти у свим упитима.
- Положај одговарајућих колона сваког упита за избор мора имати компатибилан тип података.
- Име колоне изабрано у различитим СЕЛЕЦТ упитима мора бити у истом редоследу.
- Име колоне првог СЕЛЕЦТ упита биће називи колона излаза.
НАПОМЕНА: Морамо да знамо да се Унион и Јоин разликују.
- ЈОИН комбинује податке из више различитих табела, док УНИОН комбинује податке из више сличних табела.
- ЈОИН додаје излаз хоризонтално, док УНИОН комбинује скуп резултата вертикално.
Доњи визуелни приказ то објашњава јасније:
Да бисте прочитали више информација о оператеру Унион, кликните овде.
Шта је Унион Алл?
Оператор УНИОН АЛЛ комбинује два или више резултата из више СЕЛЕЦТ упита и враћа све записе у један скуп резултата. Не уклања дупле редове из излаза СЕЛЕЦТ наредби.
То можемо разумети следећим визуелним приказом.
Унион против Унион Алл Оператера
Следећа табела поређења објашњава њихове главне разлике на брз начин:
УНИЈА | УНИОН АЛЛ |
---|---|
Комбинује скуп резултата из више табела и враћа различите записе у један скуп резултата. | Комбинује скуп резултата из више табела и враћа све записе у један скуп резултата. |
Следи основна синтаксе оператера УНИОН: СЕЛЕЦТ цолумн_лист ФРОМ табле1 УНИЈА СЕЛЕЦТ цолумн_лист ФРОМ табле2; | Следи основна синтаксе оператора УНИОН АЛЛ: СЕЛЕЦТ цолумн_лист ФРОМ табле1 УНИОН АЛЛ СЕЛЕЦТ цолумн_лист ФРОМ табле2; |
Има подразумевану функцију за уклањање дупликата редова из излаза. | Нема функцију да елиминише дупле редове из излаза. |
Његово перформансе су споре јер је потребно време да се пронађу, а затим уклоне дупли записи. | Његово перформансе су брзе јер не елиминише дупле редове. |
Већина корисника базе података радије користи овај оператор. | Већина корисника базе података не преферира да користи овај оператор. |
Унион и Унион Алл Пример
Хајде да разумемо разлике између оператера Унион и Унион Алл кроз пример. Претпоставимо да имамо табелу под називом ' Ученик ' и ' Студент2 ' који садржи следеће податке:
Табела: Студент
Табела: Студент2
Следећи СКЛ израз враћа различити називи градова из обе табеле користећи УНИОН упит:
SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City;
Након извршења горње изјаве, добићемо доњи излаз јер оператор Унион враћа само различите вредности.
Следећи СКЛ израз враћа имена свих градова укључујући дупликате из обе табеле користећи упит УНИОН АЛЛ:
SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City;
Након извршења горње изјаве, добићемо доњи излаз јер оператор Унион Алл враћа целе записе без елиминисања различитих вредности.