Ներածություն:

Տվյալների բազաների և SQL-ի աշխարհում աղյուսակների միացումը հիմնարար հայեցակարգ է, որը թույլ է տալիս միավորել բազմաթիվ աղյուսակների տվյալները՝ հիմնված համապատասխան սյունակների վրա: Միացման երկու տեսակներն են՝ ներքին և արտաքին միացումները: Այս հոդվածում մենք կուսումնասիրենք այս միացման տեսակները և կցուցադրենք դրանց օգտագործումը SQL հրամանների և ելքերի միջոցով:

Առնչվող աղյուսակներ.

Ներքին և արտաքին միացման հասկացությունները պատկերացնելու համար եկեք դիտարկենք երկու առնչվող աղյուսակներ.

«Աշխատակիցներ» և «Բաժիններ»:

«Աշխատակիցներ» աղյուսակը պարունակում է տեղեկատվություն աշխատողների մասին, մինչդեռ «Բաժիններ» աղյուսակը պարունակում է տվյալներ ընկերության տարբեր ստորաբաժանումների մասին:

Երկու աղյուսակներն էլ ունեն ընդհանուր սյունակ՝ «DepartmentID», որը սահմանում է նրանց միջև կապը:

SQL հրամաններ և ելքեր.

Ներքին միացում՝

Ներքին միացումը վերադարձնում է միայն այն տողերը, որոնք ունեն համապատասխան արժեքներ երկու աղյուսակներում: Այն, ըստ էության, միավորում է երկու աղյուսակների տողերը՝ հիմնված նշված պայմանի վրա:

SQL հրաման.

SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
FROM Employees
INNER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Արդյունք:

EmployeeID Name Department
1 John Smith Sales
2 Jane Doe Marketing
3 Mike Adams IT

Բացատրություն. Վերոնշյալ օրինակում ներքին միացումը վերցնում է «EmployeeID»-ը, «Name»-ը «Employees» աղյուսակից և «DepartmentName»-ը «Departments» աղյուսակից: Այն միավորում է այն տողերը, որտեղ «DepartmentID»-ը «Աշխատակիցներ» աղյուսակում համապատասխանում է «DepartmentID»-ին «Departments» աղյուսակում:

Ձախ արտաքին միացում՝

Ձախ արտաքին միացումը վերադարձնում է ձախ (առաջին) աղյուսակի բոլոր տողերը, իսկ աջ (երկրորդ) աղյուսակի համապատասխան տողերը: Եթե ​​համընկնում չկա, այն վերադարձնում է NULL արժեքներ աջ աղյուսակի սյունակների համար:

SQL հրաման.

SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Արդյունք:

EmployeeID Name Department
1 John Smith Sales
2 Jane Doe Marketing
3 Mike Adams IT
4 Sarah Lee NULL

Բացատրություն. Վերոնշյալ օրինակում ձախ արտաքին միացումը վերցնում է բոլոր տողերը «Աշխատակիցներ» աղյուսակից, ինչպես նաև «Departments» աղյուսակի համապատասխան տողերը՝ հիմնված նշված պայմանի վրա: Քանի որ «Departments» աղյուսակում Սառա Լիի համար համապատասխան «DepartmentID» չկա, «DepartmentName» սյունակը լրացվում է NULL-ով:

Աջ արտաքին միացում՝

Աջ արտաքին միացումը վերադարձնում է բոլոր տողերը աջ (երկրորդ) աղյուսակից և համապատասխան տողերը ձախ (առաջին) աղյուսակից: Եթե ​​համընկնում չկա, այն վերադարձնում է NULL արժեքներ ձախ աղյուսակի սյունակների համար:

SQL հրաման.

SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
FROM Employees
RIGHT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Արդյունք:

EmployeeID Name Department
1 John Smith Sales
2 Jane Doe Marketing
3 Mike Adams IT
NULL NULL Finance

Բացատրություն. Վերոնշյալ օրինակում աջ արտաքին միացումը վերցնում է բոլոր տողերը «Departments» աղյուսակից, ինչպես նաև «Աշխատակիցներ» աղյուսակի համապատասխան տողերը: Քանի որ «Ֆինանսներ» բաժնի «Աշխատակիցներ» աղյուսակում համապատասխան «DepartmentID» չկա, «EmployeeID» և «Name» սյունակները լրացվում են NULL-ով:

Լրիվ արտաքին միացում՝

Ամբողջական արտաքին միացումը վերադարձնում է երկու աղյուսակների բոլոր տողերը, ներառյալ չհամընկնող տողերը: Եթե ​​համընկնում չկա, այն վերադարձնում է NULL արժեքներ հակառակ աղյուսակի սյունակների համար:

SQL հրաման.

SELECT Employees.EmployeeID, Employees.Name, Departments.DepartmentName
FROM Employees
FULL JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Արդյունք:

EmployeeID Name Department
1 John Smith Sales
2 Jane Doe Marketing
3 Mike Adams IT
4 Sarah Lee NULL
NULL NULL Finance

Բացատրություն. Վերոնշյալ օրինակում ամբողջական արտաքին միացումը վերցնում է բոլոր տողերը և՛ «Աշխատակիցներ», և՛ «Բաժիններ» աղյուսակներից: Այն միավորում է տողերը՝ հիմնված նշված պայմանի վրա և ներառում է չհամընկնող տողեր երկու աղյուսակներից: Այս դեպքում Սառա Լիի գրառումը «Աշխատակիցներ» աղյուսակից և «Ֆինանսներ» բաժինը «Departments» աղյուսակից չեն համընկնում, ինչը հանգեցնում է համապատասխան սյունակների NULL արժեքների:

Եզրակացություն:

Ներքին միացման և արտաքին միացման հասկացությունների ըմբռնումը կարևոր է SQL-ում առնչվող աղյուսակներից տվյալների արդյունավետ համադրման համար: Օգտագործելով ներքին միացում, ձախ արտաքին միացում, աջ արտաքին միացում և ամբողջական արտաքին միացում, դուք կարող եք շահարկել տվյալները և ստանալ բովանդակալից պատկերացումներ ձեր տվյալների բազայից: