СКЛ ЈОИН
СКЛ Јоин се користи за преузимање или комбиновање података (редова или колона) из две или више табела на основу дефинисаних услова.
Табела 1: Ред
ИД поруџбине | Идентификација купца | ОрдерНаме | Назив производа |
---|---|---|---|
12025 | 101 | Петер | АБЦ |
12030 | 105 | Роберт | КСИКС |
12032 | 110 | Џејмс | КСИЗ |
12034 | 115 | Андрев | ПКР |
12035 | 120 | Матхев | ААА |
Табела 2: Купац
Идентификација купца | Име клијента | Држава |
---|---|---|
100 | У нереду | Макицо |
101 | Принц | Тајван |
103 | Мариа Фернандез | Турска |
105 | Јасмине | Париз |
110 | Фаф Веасел | Индонесиа |
120 | Роме Роцкет | Русија |
Сада имамо два стола Ред анд тхе Цустомер . Има Идентификација купца колона заједничка у обе табеле. Дакле, напишите СКЛ упит да бисте дефинисали општи однос за одабир записа подударања из обе табеле.
Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID;
Након извршења горе наведеног СКЛ упита, производи следећи излаз:
ИД поруџбине | Име клијента | Држава | Назив производа |
---|---|---|---|
12025 | Принц | Тајван | АБЦ |
12030 | Јасмине | Париз | КСИКС |
12032 | Фаф Веасел | Индонесиа | КСИЗ |
12035 | Роме Роцкет | Русија | ААА |
Типови СКЛ придруживања
Постоје различите врсте спојева који се користе у СКЛ-у:
- Унутрашње спајање / Једноставно спајање
- Лефт Оутер Јоин / Лефт Јоин
- Десно спољно спајање / десно спајање
- Фулл Оутер Јоин
- Цросс Јоин
- Селф Јоин
Иннер Јоин
Унутрашње спајање се користи за избор свих одговарајућих редова или колона у обе табеле или све док је дефинисани услов важећи у СКЛ-у.
Синтакса:
Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Унутрашњи спој можемо представити кроз Венов дијаграм, на следећи начин:
Табела 1: Ученици
Студент_ИД | Име студента | Предмет | ТеацхерИД |
---|---|---|---|
101 | Александра | Информатика | Т201 |
102 | Цхарлес | Економија | Т202 |
103 | Том Цруисе | Информатика | Т201 |
104 | Арон Финч | Електроника | Т203 |
105 | Сеед Бајофф | Веб дизајн | Т204 |
106 | Цхристопхер | енглеска књижевност | Т205 |
107 | Деним | Модни креатор | Т206 |
Табела 2: Наставници
ТеацхерИД | Име наставника | ТеацхерЕмаил |
---|---|---|
Т201 | г. Давис | [е-маил заштићен] |
Т202 | Мрс Јонас | [е-маил заштићен] |
Т201 | г. Давис | [е-маил заштићен] |
Т204 | Госпођо Лопез | [е-маил заштићен] |
Т205 | Мрс Вилеи | [е-маил заштићен] |
Т206 | Мистер Бин | [е-маил заштићен] |
Имамо два стола: Студенти анд тхе Наставници Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи ИННЕР ЈОИН као што следи:
Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID;
Након извршења упита, он производи доњу табелу.
Натурал Јоин
То је тип унутрашњег типа који спаја две или више табела на основу истог имена колоне и има исти тип података присутан у обе табеле.
Синтакса:
Select * from tablename1 Natural JOIN tablename_2;
Имамо два стола: Студенти анд тхе Наставници Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи Натурал ЈОИН као што следи:
Select * from Students Natural JOIN Teachers;
Након извршења горњег упита, он производи следећу табелу.
ЛЕФТ ЈОИН
Тхе ЛЕФТ ЈОИН користи се за преузимање свих записа из леве табеле (табела1) и одговарајућих редова или колона из десне табеле (табела2). Ако обе табеле не садрже ниједан подударни ред или колону, враћа НУЛЛ.
Синтакса:
Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name;
Такође можемо представити леви спој кроз Венов дијаграм, на следећи начин:
Напомена: У неким базама података, ЛЕФТ ЈОИН је познат и као ЛЕФТ ОУТЕР ЈОИН.
Табела 1: Продуцт_Детаилс
ИД производа | Назив производа | Износ |
---|---|---|
Про101 | Лап топ | 56000 |
Про102 | Мобилни | 38000 |
Про103 | Слушалице | 5000 |
Про104 | Телевизија | 25000 |
Про105 | иПад | 60000 |
Табела 2: Цустомер_Детаилс
јава претворити цхар у инт
Име клијента | ЦустомерАддресс | ЦустомерАге | ИД производа |
---|---|---|---|
Мартин Гуптилл | Сан Франциско, САД | 26 | Про101 |
Џејмс | Аустралија | 29 | Про103 |
Амбати Вилијамсон | Нови Зеланд | 27 | Про102 |
Јофра Арцхер | Јужна Африка | 24 | Про105 |
Кате Вилеи | Аустралија | двадесет | Про103 |
Имамо два стола: Детаљи о производу анд тхе Детаљи о купцу Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи ЛЕФТ ЈОИН као што следи:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Након извршења упита, он производи следећу табелу.
ДЕСНО ПРИДРУЖЕЊЕ или ДЕСНО спољно ПРИДРУЖЕЊЕ:
Тхе РИГХТ ЈОИН користи се за преузимање свих записа из десне табеле (табела2) и одговарајућих редова или колона из леве табеле (табела1). Ако обе табеле не садрже ниједан подударни ред или колону, враћа НУЛЛ.
Синтакса:
Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name;
Такође можемо представити десни спој кроз Венов дијаграм, на следећи начин:
Напомена: У неким базама података, ДЕСНИ ПРИДРУЖИВАЊЕ је такође познато као ДЕСНО СПОЉНО ПРИДРУЖЕЊЕ.
Табела 1: Продуцт_Детаилс
ИД | Назив производа | Износ |
---|---|---|
Про101 | Лап топ | 56000 |
Про102 | Мобилни | 38000 |
Про103 | Слушалице | 5000 |
Про104 | Телевизија | 25000 |
Про105 | иПад | 60000 |
Табела 2: Цустомер_Детаилс
Име клијента | ЦустомерАддресс | ЦустомерАге | ИД производа |
---|---|---|---|
Мартин Гуптилл | Сан Франциско, САД | 26 | Про101 |
Џејмс | Аустралија | 29 | Про103 |
Амбати Вилијамсон | Нови Зеланд | 27 | Про102 |
Јофра Арцхер | Јужна Африка | 24 | Про105 |
Омен | Енглеска | 29 | Про107 |
Морган | Енглеска | двадесет | Про108 |
Имамо два стола: Детаљи о производу анд тхе Детаљи о купцу Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи РИГХТ ЈОИН као што следи:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Након извршења упита, он производи доњу табелу.
ФУЛЛ ЈОИН или ФУЛЛ Оутер ЈОИН:
То је комбинација резултата оба ЛЕФТ ЈОИН и РИГХТ ЈОИН . Спојене табеле враћају све записе из обе табеле и ако нема подударања у табели, поставља НУЛЛ. Такође се назива а ФУЛЛ ОУТЕР ЈОИН .
Синтакса:
Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name;
Или, ФУЛЛ ОУТЕР ЈОИН
Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name;
Такође можемо да представимо пуно спољашње спајање кроз Венов дијаграм, на следећи начин:
Табела 1: Продуцт_Детаилс
ИД | Назив производа | Износ |
---|---|---|
Про101 | Лап топ | 56000 |
Про102 | Мобилни | 38000 |
Про103 | Слушалице | 5000 |
Про104 | Телевизија | 25000 |
Про105 | иПад | 60000 |
Табела 2: Цустомер_Детаилс
Име клијента | ЦустомерАддресс | ЦустомерАге | ИД производа |
---|---|---|---|
Мартин Гуптилл | Сан Франциско, САД | 26 | Про101 |
Џејмс | Аустралија | 29 | Про103 |
Амбати Вилијамсон | Нови Зеланд | 27 | Про102 |
Јофра Арцхер | Јужна Африка | 24 | Про105 |
Омен | Енглеска | 29 | Про107 |
Морган | Енглеска | двадесет | Про108 |
Имамо два стола: Детаљи о производу анд тхе Детаљи о купцу Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи ФУЛЛ ПРИДРУЖИТЕ се на следећи начин:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID;
Након извршења упита, он производи доњу табелу.
Напомена: МиСКЛ не подржава концепте ФУЛЛ ЈОИН, тако да можемо користити УНИОН АЛЛ клаузулу да комбинујемо обе табеле.
Ево синтаксе за УНИОН АЛЛ Клаузула за комбиновање табела.
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID
ЦРОСС ЈОИН
Такође је познато као КАРТЕЗИЈАНСКО ПРИДРУЖЕЊЕ , који враћа картезијански производ две или више спојених табела. Тхе ЦРОСС ЈОИН производи табелу која спаја сваки ред из прве табеле са сваким другим редом табеле. Није потребно укључити било који услов у ЦРОСС ЈОИН.
Синтакса:
Select * from table_1 cross join table_2;
Или,
Select column1, column2, column3 FROM table_1, table_2;
Табела 1: Продуцт_Детаилс
ИД | Назив производа | Износ |
---|---|---|
Про101 | Лап топ | 56000 |
Про102 | Мобилни | 38000 |
Про103 | Слушалице | 5000 |
Про104 | Телевизија | 25000 |
Про105 | иПад | 60000 |
Табела 2: Цустомер_Детаилс
Име клијента | ЦустомерАддресс | ЦустомерАге | ИД производа |
---|---|---|---|
Мартин Гуптилл | Сан Франциско, САД | 26 | Про101 |
Џејмс | Аустралија | 29 | Про103 |
Амбати Вилијамсон | Нови Зеланд | 27 | Про102 |
Јофра Арцхер | Јужна Африка | 24 | Про105 |
Омен | Енглеска | 29 | Про107 |
Морган | Енглеска | двадесет | Про108 |
Имамо два стола: Детаљи о производу анд тхе Детаљи о купцу Табле. Хајде да напишемо СКЛ упите за придруживање табели користећи ФУЛЛ ПРИДРУЖИТЕ се на следећи начин:
Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details;
Након извршења упита, он производи доњу табелу.
СЕЛФ ЈОИН
То је СЕЛФ ЈОИН који се користи за креирање табеле тако што се сама спаја јер су постојале две табеле. Он даје привремено именовање најмање једне табеле у СКЛ изразу.
Синтакса:
примери питхон програма
Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition;
Табела 1 и Тбл2 су два различита псеудонима за исту табелу.
Табела 1: Продуцт_Детаилс
ИД | Назив производа | Износ |
---|---|---|
Про101 | Лап топ | 56000 |
Про102 | Мобилни | 38000 |
Про103 | Слушалице | 5000 |
Про104 | Телевизија | 25000 |
Про105 | иПад | 60000 |
Хајде да напишемо СКЛ упите за придруживање табели користећи СЕЛФ ЈОИН као што следи:
Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>