МиСКЛ УНИОН - Комплетна лекција

Anonim

Шта је унија?

Синдикати комбинују резултате из више СЕЛЕЦТ упита у обједињени скуп резултата.

Једини услови да би ово функционисало је да број ступаца буде исти од свих СЕЛЕЦТ упита које треба комбиновати.

Претпоставимо да имамо две табеле како следи

Хајде сада да креирамо УНИОН упит за комбиновање обе табеле помоћу ДИСТИНЦТ-а

SELECT column1, column2 FROM `table1`UNION DISTINCTSELECT column1,column2 FROM `table2`;

Овде се дуплирани редови уклањају и враћају се само јединствени редови.

Напомена: МиСКЛ користи клаузулу ДИСТИНЦТ као подразумевану при извршавању УНИОН упита ако ништа није наведено.

Хајде сада да креирамо УНИОН упит који комбинује обе табеле користећи АЛЛ

SELECT `column1`,` column1` FROM `table1`UNION ALLSELECT ` column1`,` column1` FROM `table2`;

Овде су дуплирани редови укључени и пошто користимо СВЕ.

Зашто користити синдикате

Претпоставимо да постоји мана у дизајну ваше базе података и да користите две различите табеле намењене у исту сврху. Желите да ове две табеле обједините у једну, а изоставите да се дупликати записа увуку у нову табелу. У таквим случајевима можете користити УНИОН.

Резиме

  • Команда УНИОН се користи за комбиновање више резултата СЕЛЕЦТ упита у један упит који садржи редове из свих изабраних упита.
  • Број ступаца и типова података у наредбама СЕЛЕЦТ мора бити једнак да би наредба УНИОН функционисала.
  • Клаузула ДИСТИНЦТ користи се за уклањање дуплираних вредности из скупа резултата упита УНИОН. МиСКЛ користи клаузулу ДИСТИНЦТ као подразумевану при извршавању УНИОН упита ако ништа није наведено.
  • Клаузула АЛЛ користи се за враћање свих чак дуплираних редова у упиту УНИОН.

Практични примери коришћења МиСКЛ радног окружења

У нашем миФликДБ омогућава комбиновање

мембер_нумбер и фулл_намес из табеле Мемберс

са

мовие_ид и наслов из табеле филмова

Можемо користити следећи упит

SELECT `membership_number`,`full_names` FROM `members`UNIONSELECT `movie_id`,`title` FROM `movies`;

Извршавање горње скрипте у МиСКЛ радном окружењу против мифликдб даје нам следеће резултате приказане у наставку.

 
membership_number full_names
1 Janet Jones
2 Janet Smith Jones
3 Robert Phil
4 Gloria Williams
5 Leonard Hofstadter
6 Sheldon Cooper
7 Rajesh Koothrappali
8 Leslie Winkle
9 Howard Wolowitz
16 67% Guilty
6 Angels and Demons
4 Code Name Black
5 Daddy's Little Girls
7 Davinci Code
2 Forgetting Sarah Marshal
9 Honey mooners
19 movie 3
1 Pirates of the Caribean 4
18 sample movie
17 The Great Dictator
3 X-Men