Ներածություն:
Տվյալների բազաների և 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-ում առնչվող աղյուսակներից տվյալների արդյունավետ համադրման համար: Օգտագործելով ներքին միացում, ձախ արտաքին միացում, աջ արտաքին միացում և ամբողջական արտաքին միացում, դուք կարող եք շահարկել տվյալները և ստանալ բովանդակալից պատկերացումներ ձեր տվյալների բազայից: