Ձախ միացման և ձախ արտաքին միացման միջև տարբերությունը SQL-ում – Բոլոր տարբերությունները

 Ձախ միացման և ձախ արտաքին միացման միջև տարբերությունը SQL-ում – Բոլոր տարբերությունները

Mary Davis

Տվյալների բազան բաղկացած է համակարգված տեղեկատվության կազմակերպված հավաքածուից, որը սովորաբար էլեկտրոնային եղանակով պահվում է համակարգչային համակարգում: Մի քանի տարբեր տվյալների շտեմարաններ, ինչպիսիք են SQL Server-ը, Oracle-ը, PostgreSQL-ը և MySQL-ը, սովորաբար օգտագործում են լեզուն՝ տվյալների կառավարման համար :

Նման լեզուներից մեկը հայտնի է որպես SQL: SQL-ն ունի միանալու տարբեր հրամաններ՝ Inner Join, Left Join և Right Join տեսքով:

Ինչպես գիտեք, SQL-ում Join-ն օգտագործվում է համապատասխան սյունակից երկու կամ ավելի աղյուսակներից տողեր հավաքելու համար : Սա կարող է հարց առաջացնել, թե ինչ են անում այլ տարբերակները:

Դա մի փոքր շփոթեցնող է, վստահ եմ: Բայց մի անհանգստացեք, ես մանրամասն կներկայացնեմ, թե ինչ են դրանք նշանակում, և հուսով եմ, որ դա կօգնի ձեզ ավելի լավ հասկանալ:

Եկեք հասնենք դրան:

Ի՞նչ է SQL-ը:

SQL-ը նշանակում է Structured Query Language: Սա լեզու է, որն օգտագործվում է տարբեր տվյալների բազաների կողմից տվյալների գրելու և հարցումների համար: Այն թույլ է տալիս կառավարել տեղեկատվությունը աղյուսակների միջոցով և ցուցադրում է այս աղյուսակների և այլ հարակից օբյեկտների հարցումների համար լեզու, ինչպիսիք են դիտումները, գործառույթները, ընթացակարգերը և այլն:

Դոնալդ Չեմբերլինը և Ռայմոնդ Բոյսը նախագծողներն են: SQL-ից, որը նրանք ստեղծեցին տվյալների մանիպուլյացիայի համար: Նրանց մոդելը հիմնված էր Էդգար Ֆրենկ Քոդի աշխատանքների վրա, ով աշխատել է IBM-ում և հորինել է հարաբերական տվյալների բազան 70-ականներին:

Սկզբում այն ​​անվանվել է SEQUEL, սակայն այն կրճատվել է SQL՝ հատուկ պատճառովապրանքանիշի հետ կապված խնդիրներ. Սակայն, եթե ցանկանում եք, դեռ կարող եք դրանք անվանել SEQUEL:

SQL-ի միջոցով դուք կարող եք տեղադրել, ջնջել և թարմացնել տվյալները և ստեղծել, ջնջել կամ փոփոխել տվյալների բազայի այլ օբյեկտներ: Ստանդարտ SQL հրամաններն են՝ « ընտրել», «ջնջել», «տեղադրել», «թարմացնել», «ստեղծել» և «թողնել» : Սրանք կարող են իրականացնել այն ամենը, ինչ անհրաժեշտ է անել տվյալների բազայում:

Ավելին, այս լեզուն օգտագործվում է բազմաթիվ տվյալների բազաներում՝ օգնելու կարգավորել տվյալների և տվյալների բազայի օբյեկտները: Եթե ​​դա ձեզ համար բարդ է թվում, ահա մի տեսանյութ, որը բացատրում է, թե ինչ է SQL-ն սկսնակների համար.

Կարո՞ղ է տվյալների բազան աշխատել առանց լեզվի:

Ինչո՞ւ ենք մենք օգտագործում SQL:

Դա բավականին պարզ է: Մենք չենք հասկանա տվյալների բազաները առանց SQL-ի: Նույն կերպ, մենք չենք կարող հրահանգել տվյալների բազան առանց դրա, քանի որ SQL-ը համակարգ է, որն օգտագործվում է տվյալների բազայի հետ հաղորդակցվելու համար:

SQL համակարգերը կատարում են այնպիսի առաջադրանքներ, ինչպիսիք են ջնջելը, ավելացնելը կամ փոփոխելը տվյալները: Այս համակարգը սովորաբար օգտագործվում է ավելի հեշտացնելու համար մեծ քանակությամբ տվյալների մշակումը` արդյունավետ կառավարելով դրանք: Հարաբերական տվյալների բազայի կառավարման մի քանի ստանդարտ համակարգեր, որոնք օգտագործում են SQL, ներառում են Oracle, Sybase, Microsoft Access և Ingres:

Ի՞նչ է ներքին միացումը և արտաքին միացումը:

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

Ներքին միացումը միացում է, որը վերադարձնում է բոլոր տողերը երկու մասնակից աղյուսակներից, որտեղ մեկ աղյուսակի էական գրառումը նույնն է, ինչ մեկ այլ աղյուսակի կրիտիկական գրառումները:

Միացումի այս տեսակը համեմատական ​​օպերատորից պահանջում էր, որպեսզի համապատասխանի մասնակից աղյուսակների տողերը, որոնք աջակցում էին երկու աղյուսակների ստանդարտ դաշտը կամ սյունակը:

Արտաքին Միացումը կարող է վերադարձնել ոչ -համապատասխանող տողերը աղյուսակներից մեկում կամ երկուսում : Հիմնականում այն ​​վերադարձնում է բոլոր տողերը բոլոր աղյուսակներից, որոնք համապատասխանում են պայմաններին:

Կան բազմաթիվ տարբեր տեսակի արտաքին միացումներ: Դրանք ներառում են ձախ միացում, աջ միացում և ամբողջական արտաքին միացում:

Ահա աղյուսակ, որն ամփոփում է SQL-ում հասանելի միացումների կարևոր գործառույթները.

Միացման տեսակները> Ֆունկցիա :
Ներքին միացում Սա վերադարձնում է տողերը, երբ երկու աղյուսակներում կա առնվազն մեկ համընկնում:
Ձախ արտաքին միացում Սա վերադարձնում է ձախ աղյուսակի բոլոր տողերը աջ աղյուսակի համապատասխան տողերի հետ միասին:
Աջ արտաքին միացում Սա վերադարձնում է աջ աղյուսակի բոլոր տողերը ձախ աղյուսակի համապատասխան տողերի հետ միասին:
Ամբողջ արտաքին միացում Սա համատեղում է ձախ արտաքին և աջ արտաքին միացում: Վերադարձնում է տողեր ցանկացած աղյուսակից, երբ պայմանները բավարարված են:

Սա ցույց է տալիս SQL-ում չորս միացումների տարբերությունները:

Տարբերությունը ներքին և արտաքին միացման միջև

Կա ավելին: Ներքին և արտաքին միացումների միջև էական տարբերությունն այն է, որ ներքին միացումները սովորաբար հանգեցնում են երկու աղյուսակների հատման: Ի հակադրություն, Արտաքին միացումները հանգեցնում են երկու աղյուսակների խառնմանը:

Այսպիսով, ըստ էության, Ներքին միացումն հանգեցնում է տվյալների երկու հավաքածուների համընկնող մասի, ինչպես ցույց է տրված ստորև նկարում: Ներքին միացումների համար երկու աղյուսակներում դուք կմիավորեք միայն ստանդարտ տողերը: Մյուս կողմից, Outer Joins-ը վերադարձնում է բոլոր գրառումները արժեքներով կամ ձախ կամ համապատասխան աղյուսակներում:

Արտաքին միացումները ներառում են աղյուսակների համապատասխանող և չհամապատասխանող տողերը: Ավելին, Արտաքին միացումը տարբերվում է ներքին միացումից կեղծ համընկնման պայմանի կառավարմամբ:

Ձախ արտաքին միացումը բաղկացած է ձախ արտաքին միացումից + ներքին միացումից: Մինչդեռ աջ արտաքին միացումը նույնպես բաղկացած է աջ արտաքին միացումից + ներքին միացումից: Full Outer Join-ը բաղկացած է բոլորից:

Left Join (Արդյո՞ք դա նույնն է SQL-ի ձախ արտաքին միացումը:)

Հավանաբար դուք լսել եք Ձախ միացե՞լ SQL-ում: Դե, դա պարզապես նույն ձախ արտաքին միացումն է: Նրանք ունեն երկու տարբեր անուններ նույն ֆունկցիայի համար:

Ձախ միացումը նույնն է, ինչ ձախ արտաքին միացումը SQL-ում, և դրանք մեկ են: Left Join-ը պարզապես ձախ արտաքին Join-ի սղագրությունն է: Բառը«Արտաքին» պարզապես ավելի պարզ է դարձնում գործողությունը, բայց երկու ստեղները կատարում են նույն գործառույթները:

Տես նաեւ: Աբուելան ընդդեմ Աբուելիտա (Կա՞ տարբերություն) – Բոլոր տարբերությունները

Ինչու՞ է ձախ միացումը կոչվում ձախ արտաքին միացում:

Դուք հնարավորություն կունենաք այն անվանել ընդլայնված անունով կամ դյուրանցմամբ: Բացի այդ, դրանք նույնն են:

Հիշեք, որ Այս Join-ը վերադարձնում է ձախ կողմում գտնվող աղյուսակի բոլոր տողերը և Միացման աջ կողմի համապատասխան տողերը: Եթե աջ կողմում համընկնող կողմեր ​​չկան, արդյունքը զրոյական է:

Այսպիսով, եթե մենք միացնենք երկու աղյուսակներ՝ A և B, SQL Left Outer Join-ը կվերադարձնի ձախ աղյուսակի բոլոր տողերը: , որը A է, և բոլոր տողերը, որոնք համընկնում են մյուս աղյուսակի B աջ կողմում: Մի խոսքով, SQL Left Join-ի արդյունքը միշտ բաղկացած է ձախ կողմի աղյուսակի տողերից:

Տարբերությունը միանալու և ձախ միացման միջև

Հիմնականում միանալը կոչվում է նաև ներքին միացում, մինչդեռ ձախ միացումը արտաքին միացում է:

Սակայն հիմնական տարբերությունն այն է, որ ձախ միացման դրույթը հավանաբար կներառի և կմիավորի աղյուսակի բոլոր տողերը, որոնք հղում են կատարում տեղեկատվության ձախ կողմում: Միայն չհամընկնող տողերի փոխարեն այն բաղկացած է ձախ աղյուսակի բոլոր տողերից և մյուս աղյուսակների համընկնող տողերից:

Ե՞րբ օգտագործել ձախ արտաքին միացումը SQL-ում:

Ենթադրենք, որ դուք փնտրում եք տարբեր աղյուսակներ միավորելու միջոց: Կամ, եթե միացնում եք երկու աղյուսակ և ցանկանում եք, որ արդյունքը սահմանվիներառեք միայն մեկ աղյուսակի չհամընկնող տողերը, դուք պետք է օգտագործեք ձախ արտաքին միացման դրույթ կամ պատշաճ արտաքին միացման դրույթ: Ձախ արտաքին միացումն օգտագործելը բաղկացած է այն տողերից, որոնք չեն համընկնում ձախ արտաքին միացման դրույթից առաջ նշված աղյուսակից:

Տեխնիկապես, ձախ արտաքին միացումը նույնականացնում է բոլոր տողերը երկու աղյուսակներից, որոնք համապատասխանում են միացման պայմաններին և աղյուսակից անզուգական տողեր:

Արդյո՞ք ձախ արտաքին միացումը մեծացնում է տողերի թիվը:

Սա հաճախ տրվող հարց է: Տեխնիկապես դա այո է:

Սակայն ձախ միանալը կարող է միայն ավելացնել ձախ աղյուսակի տողերի քանակը: Եվ սա միայն այն դեպքում, երբ մի քանի համընկնում են ճիշտ աղյուսակում: Բացի այդ, դուք կարող եք օգտագործել բազմաթիվ ձախ միացումներ մեկ հարցման մեջ, եթե դա անհրաժեշտ է ձեր վերլուծության համար:

Ձախ արտաքին միացումն ընդդեմ աջ արտաքին միացման

Ձախ արտաքին միացման և աջ արտաքին միացման միջև էական տարբերությունը չհամընկնող տողերի համատեղումն է:

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

Մյուս կողմից, Աջ արտաքին միացումն ընդգրկում է միացում կետի աջ կողմի աղյուսակի չհամընկնող տողերը և վերադարձնում է բոլոր տողերը աջ կողմից:

Միանալու կետը միավորում է գրառումները կամ փոփոխում և շահարկում է երկու կամ ավելի աղյուսակների ձևերը՝ օգտագործելովմիացման պայման. Այս Join պայմանը ցույց է տալիս, թե ինչպես են համընկնում տարբեր աղյուսակների սյունակները համեմատելիս:

Օրինակ, աշխատողի աշխատավարձը պարունակող աղյուսակի և աշխատողի տվյալները պարունակող մեկ այլ աղյուսակի միջև կլինի ստանդարտ սյունակ: Սա կարող է լինել աշխատողի ID-ն, և դա օգնում է միանալ երկու աղյուսակներին:

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

Տվյալների բազաների ուսումնասիրությունը կարող է բարդ լինել: Բայց դա բավականին պարզ է ստանալը, եթե դուք այն մանրակրկիտ հասկանում եք:

Ի՞նչ տարբերություն կա աջ միացման և աջ արտաքին միացման միջև:

Աջ միացումները նման են ձախ միացումներին, միայն թե դրանք վերադարձնում են բոլորը: Աղյուսակում տողերը աջ կողմից և համապատասխանող տողերը ձախից:

Կրկին, աջ միացումն ու աջ արտաքին միացումը առանձնահատուկ տարբերություն չունեն, ինչպես որ ձախ միացումը և ձախ արտաքին միացումը չունեն: Կարճ ասած, Right Join տերմինը պարզապես Right Outer Join-ի սղագրությունն է:

«Արտաքին» հիմնաբառը պարտադիր չէ: Նրանք երկուսն էլ կատարում են նույն աշխատանքը՝ համատեղելով տվյալների հավաքածուները և աղյուսակները:

Ինչու՞ օգտագործել աջ միացում՝ ձախ միանալու փոխարեն:

Ընդհանրապես, աջ արտաքին միացումները այնքան էլ հաճախ չեն օգտագործվում, քանի որ դուք միշտ կարող եք դրանք փոխարինել ձախ արտաքին միացումներով, և որևէ լրացուցիչ գործառույթ չի պահանջվի կատարել:

Մարդը կմտածեր Right Join-ի փոխարեն, քան Left Join-ի մասին, երբփորձում է ձեր SQL-ն ավելի ինքնուրույն փաստաթղթավորել:

Դուք կարող եք օգտագործել Ձախ միացում ` պատասխանելու հարցումները, որոնք կախյալ կողմում ունեն զրոյական տողեր: Դուք կարող եք օգտագործել Right Join հարցերի համար, որոնք առաջացնում են զրոյական տողեր անկախ կողմում:

Աջ արտաքին միացումը նույնպես օգտակար է, երբ անհրաժեշտ է մեկ աղյուսակը համատեղել բազմաթիվ այլ աղյուսակների հատման հետ:

SQL-ում Join-ի և Union-ի տարբերությունը

Join-ի և Union-ի տարբերությունն այն է, որ Union-ն օգտագործվում է երկու կամ ավելի SELECT հայտարարությունների արդյունքների հավաքածուն միավորելու համար:

Մինչ Միանալը միավորում է բազմաթիվ աղյուսակների տվյալները՝ կախված համընկնող պայմանից, Միանալու հայտարարությունների միջոցով համակցված տվյալները հանգեցնում են նոր սյունակների:

Տվյալները, որոնք համակցված են միության հայտարարության միջոցով, հանգեցնում են հավասար թվով սյունակներ ունեցող բազմություններից նոր տարբեր տողերի:

Տես նաեւ: Ո՞րն է տարբերությունը Associal & Հակասոցիալական? - Բոլոր տարբերությունները

Վերջնական մտքեր

Եզրափակելով, չկա տարբերություն LEFT JOIN-ի և LEFT OUTER JOIN-ի միջև : Սա ճիշտ է նաև Right Join-ի և Right Outer Join-ի դեպքում:

Երկու ստեղներն էլ կատարում են նույն գործառույթները, և « արտաքին»-ը պարզապես ընտրովի հիմնաբառ է, որն օգտագործվում է: Որոշ մարդիկ խորհուրդ են տալիս օգտագործել այն միայն այն պատճառով, որ պարզաբանում է, որ դուք ստեղծում եք արտաքին միացում:

Այսպիսով, ի վերջո, նշեք, թե ոչ, ընդհանրապես տարբերություն չկա:

Այլ հետաքրքիր հոդվածներ․

Mary Davis

Մերի Դևիսը գրող է, բովանդակություն ստեղծող և մոլի հետազոտող, որը մասնագիտացած է տարբեր թեմաների համեմատական ​​վերլուծության մեջ: Ունենալով լրագրության կոչում և ոլորտում ավելի քան հինգ տարվա փորձ՝ Մերին կիրք ունի իր ընթերցողներին անաչառ և պարզ տեղեկատվություն տրամադրելու համար: Գրելու հանդեպ նրա սերը սկսվել է երիտասարդ տարիքից և եղել է գրելու հաջող կարիերայի շարժիչ ուժը: Մերիի կարողությունը՝ ուսումնասիրելու և բացահայտումները դյուրըմբռնելի և գրավիչ ձևաչափով ներկայացնելու, նրան սիրել են ամբողջ աշխարհի ընթերցողներին: Երբ նա չի գրում, Մերին սիրում է ճանապարհորդել, կարդալ և ժամանակ անցկացնել ընտանիքի և ընկերների հետ։