Увод у придруживања у МиСКЛ-у

МиСКЛ Јоинс игра важну улогу када морамо спојити две табеле заједно на основу једне или више заједничких вредности које деле две табеле.

Пример : Размотримо да имамо две табеле, а једна је табела запослених која се састоји од запосленог_ид, пхн_но, плате и одељења. Друга табела је табела адреса која се састоји од_ запосленице и адресе. Ако требамо пронаћи запослени_ид, одељење и адресу, морамо се придружити обема табелама које деле заједничко поље као запослени_ид.

Упит :

SELECT e1.employee_id, e1.department, a1.address
FROM employee e1
INNER JOIN address a1
ON e1.employee_id = a1.employee_id;

Топ 6 врста придруживања у МиСКЛ-у

Постоје различите врсте придруживања у МиСКЛ-у. Испод поменуте придруживања свакодневно се користе и најкориснији су за спровођење многих упита у стварним сценаријима.

  1. Унутрашње придруживање
  2. Лево спајање
  3. Десно се придружите
  4. Потпуна спојка на споју
  5. Само се придружите
  6. Цросс јоин

1. Унутрашње придруживање

Унутрашње придруживање враћа вредност која се подудара у обе табеле.

Овај део долази у излазу као што је приказано на слици изнад.

Пример бр. 1:

Емп_ид Одељење Плата
1001 ТО 1000
1002 ЦСР 800
1003 ТО 2000

Ово је сто за запослене.

Емп_ид Адреса
1002 Делхи
1003 Бангалор
1005 Ббср

Ево табеле адреса тих запослених. Примарни кључ емп_ид запосленика родитељске таблице користи се као страни кључ у адресној таблици која је подређена табела. Пронаћи ћемо ем_ид, одељење и адресу једног запосленика помоћу унутрашњег придруживања. Будући да су унутрашња стања спајања Дохваћа записе који су присутни / заједнички у обје табеле.

Упит:

SELECT emp.emp_id, emp.department, ads.address
FROM employee AS emp
INNER JOIN address AS ads
ON emp.emp_id = ads.emp_id;

Ми дајемо псеудоним називу таблице само да избјегнемо више времена. У горњем упиту користимо псеудоним 'емп' за табелу запосленика и 'адс' за табелу адреса.

Излаз:

Емп_ид Одељење Адреса
1002 ЦСР Делхи
1003 ТО Бангалор

Како су у горњем примеру емп_ид 1002 и 1003 уобичајене између обе табеле, наредба за интерно придруживање проналази излаз само за ове запослене.

Пример бр. 2:

Овде имамо 2 табеле, табле1 и табле2. Обје табеле се састоје од по једног атрибута, сваки као ступац А и ступац Б.

Табела 1

Ступац А
1
1
2
3
4

Табела2

Колона Б
1
2
2
3
3
5

Упит:

If we apply inner join here,
SELECT * FROM Table1
INNER JOIN table2
ON columnA = columnB;

Излаз:

Ступац А Колона Б
1 1
1 Нула
2 2
Нула 2
3 3
Нула 3

2. Лево придруживање

Ово придруживање враћа све записе из леве табеле и подударне записе из десне табеле.

Као што приказује горњи дијаграм, састоји се од свих записа табеле А и уобичајених записа из А и Б.

Пример бр. 1:

Идентификација купца Име Град
1 Харисх Цуттацк
2 Давид Бангалор
3 Махесх Бхубанесвар
4 Сам Колката

Табела клијената:

ИД поруџбине Износ Идентификација купца
19868 7575.00 4
19976 434654.00 2
99680 7457.00 3

Табела поруџбине:

Открићемо цустомер_ид, име и ордер_ид повезане помоћу леве придруживања.

Упит:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
LEFT JOIN order ord
ON cust.customer_id = ord.customer_id;

Излаз:

Идентификација купца ИмеИД поруџбине
1 Харисх нула
2 Давид 19976
3 Махесх 99680
4 Сам 19868

Док смо расправљали о овом левом придруживању пронашли смо све корисничке ИД-ове из корисничке таблице и оне уобичајене између обе табеле. За цустомер_ид '1' приказат ће се као 'нулл' јер '1' цустомер_ид није присутан у таблици налога.

Пример бр. 2:

Овде имамо 2 табеле, табле1 и табле2. Обје табеле се састоје од по једног атрибута, сваки као ступац А и ступац Б.

Табела 1

Ступац А
1
1
2
2
3

Табела2

Колона Б
1
2
2
4
4
5
5

Упит:

If we apply left join on above 2 tables,
SELECT * FROM table1
LEFT JOIN table2
ON columnA = columnB;

Ступац А Колона Б
1 1
1 Нула
2 2
2 2
3 Нула

3. Ригхт Јоин

Ово придруживање враћа све записе из десне табеле и одговарајуће из леве табеле.

Горњи дијаграм показује да се дохваћају сви записи из табеле Б и заједнички који су присутни у обе табеле.

Пример:

Идентификација купца Име Град
3 Махесх Бхубанесвар
4 Сам Колката
5 РАМ Мумбаи

Табела клијената:

ИД поруџбине Износ Идентификација купца
19868 7575.00 4
19976 434654.00 2
99680 7457.00 3

Табела поруџбине:

Открићемо цустомер_ид, име и ордер_ид који су с њим повезани десним спајањем.

Упит:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
RIGHT JOIN order ord
ON cust.customer_id = ord.customer_id;

Излаз:

Идентификација купца Име ИД поруџбине
2 нула 19976
3 Махесх 99680
4 Сам 19868

Како смо се одмах придружили, тако је упит дохватио све корисничке ИД-ове из табеле налога и заједничких записа који се налазе у обе табеле.

4. Потпуно спољашње придруживање

Потпуно вањско спајање враћа све записе из обје табеле ако постоји заједничко поље.

Пример:

Идентификација купца Име Град
3 Махесх Бхубанесвар
4 Сам Колката
5 РАМ Мумбаи

Табела клијената:

ИД поруџбине Износ Идентификација купца
19868 7575.00 4
19976 434654.00 2
99680 7457.00 3

Табела поруџбине:

Открићемо цустомер_ид, име и ордер_ид који су с њим повезани помоћу пуног спољног спајања.

Упит:

SELECT cust.Customer_id, cust.Name, ord.Order_id
FROM customer cust
FULL OUTER JOIN order ord
ON cust.customer_id = ord.customer_id;

Излаз:

Идентификација купца Име ИД поруџбине
2 нула 19976
3 Махесх 99680
4 Сам 19868
5 РАМ нула

Овај потпуни спољни спој преузео је све ИД-ове клијента из корисничке таблице, као и таблицу налога.

5. Самостално се придружите

Само-придруживање је редовно придруживање и овде се стола спаја само са собом.

Емп_ид Име Бр. телефона Град Земља
1001 Р. Мадхван 9687687698 Бангалор Индија
1002 Гобу Схарма 9856453423 Пуне Индија
1003 Дебасисх Дас 8765456787 Мумбаи Индија
1004 Амит Роут 4567788635 Пуне Индија
1005 Самбит Кар 8789887873 Хидерабад Индија

Овде је табела запослених која се састоји од неколико поља. Открићемо запослене који живе у истом граду.

Упит :

SELECT e1.name AS Employee_name1, e2.name AS employee_name2, e1.City
FROM employee e1, employee e2
WHERE e1.name e2.name
AND e1.city = e2.city;

Излаз :

Име запосленог1 Емплоиее_наме2 е1.цити
Гобу Схарма Амит Роут Пуне
Амит Роут Гобу Схарма Пуне

6. Цросс Јоин

Ово спајање даје резултат када се број редова у првој табели умножи са редовима у другој табели. Ова врста резултата назива се картезијански производ. Ако користимо ВХЕРЕ клаузулу с овим придруживањем, тада ће ово радити као унутрашње спајање.

Пример:

Прод_ид Назив производа Прод_унит Цомпани_ид
1 Цхек мик Ком 12
2 Цхеез-ит Ком 15
3 Бисквит ком 16

Табела производа :

Цомпани_ид Име компаније Цомпани_цити
15 Фоодиес Делхи
16 Јацк н Јилл Цуттацк
17 Природна Бангалор

Компанија Табела:

На ове табеле ћемо применити унакрсни спој.

Упит :

SELECT p.product_name, p.prod_unit, c.company_name
FROM product p
CROSS JOIN company c;

Излаз :

п.продуцт_наме п.прод_унит ц.цомпани_наме
Цхек мик Ком Фоодиес
Цхеез-ит Ком Фоодиес
Бисквит Ком Фоодиес
Цхек мик Ком Јацк н Јилл
Цхеез-ит Ком Јацк н Јилл
Бисквит Ком Јацк н Јилл
Цхек мик Ком Природна
Цхеез-ит Ком Природна
Бисквит Ком Природна

Закључак

Значај ових спајања је веома важан за рад у сценаријима у стварном времену, као и за неке друге технологије. У визуализацијама попут Таблеау-а и Повер БИ-а, спајања играју виталну улогу. Структурирана пракса овога је кључна за уградњу ових нових техника и вештина.

Препоручени чланак

Ово је водич за придруживања у МиСКЛ-у. Овде смо расправљали о првих 6 врста придруживања у МиСКЛ-у као што су Унутрашња, Лева, Десна, Потпуна, Селф, Цросс и њени примери заједно са Упитом и Излазом. такође можете да прођете кроз наше предложене чланке да бисте сазнали више -

  1. Топ 10 МиСКЛ команди
  2. Увод у МиСКЛ операторе
  3. МиСКЛ вс СКЛите | Топ 14 поређење
  4. Топ 23 МиСКЛ Стринг функције
  5. Објасните Инсерт Цомманд у МиСКЛ-у са примерима
  6. Топ 6 разлике примарног и иностраног кључа

Категорија: