ՀամակարգիչներԾրագրավորում

Օպերատոր SQL ներքին միանալ: օրինակներ syntax եւ առանձնահատկություններ

Զարգացող ցանկացած բազայի մեջ ներառում է ոչ միայն ստեղծումը եւ թռել սեղաններ տարբեր տեղեկությունների, այլեւ հետագա աշխատանքները տվյալները. Ճիշտ կատարել մի շարք խնդիրների ընտրությամբ տվյալների սեղանների եւ հաշվետվությունների, օգտագործել ստանդարտ Ընտրել դիզայն.

Fetch տվյալների սեղաններ

Եթե հաշվի առնենք, որ խնդիրը ընտրության տվյալների կամ շինարարության մի զեկույցի, դուք կարող եք որոշել, թե մակարդակը բարդության շահագործման. Որպես կանոն, երբ գործ ունենք լուրջ (ըստ ծավալի) տվյալների բազաների, որոնք ձեւավորվում, օրինակ, օնլայն խանութներում կամ խոշոր ընկերությունների, տվյալների ընտրությունը չի սահմանափակվում մեկ սեղանի շուրջ: Որպես կանոն, նմուշ կարող է լինել բավականին մեծ թվով ոչ միայն կապված սեղաններ, այլեւ nested հարցումներ / sub-հարցումների, որը կազմում է ծրագրավորող, կախված իր խնդիր. Մի նմուշ մեկ սեղանի շուրջ կարող են օգտագործել պարզագույն կառուցվածքը:

Ընտրեք * է անձի

որտեղ անձ - անունը սեղանի շուրջ, որը դուք ցանկանում եք, որպեսզի տվյալների որոնման.

Եթե, այնուամենայնիվ, դուք պետք է ընտրել տվյալների բազմաթիվ սեղաններ, մի ստանդարտ նմուշների կարող է օգտագործվել է միանալ բազմակի սեղաններ:

միացնելով լրացուցիչ սեղաններ մեթոդներ

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

  1. Օպերատոր ներքին միանալ.
  2. Ձախ Միացեք կամ, որ դա երկրորդ ձայնագրությունը մեթոդը, ձախ Արտաքին Գրանցման:
  3. Խաչը Գրանցման:
  4. Լրիվ Գրանցման:

Using օպերատորների միանալ սեղաններ գործնականում, դուք կարող եք իմանալ, թե `հաշվի առնելով օգտագործումը SQL հայտարարության ներքին միանալ. Մի օրինակ է, դրա օգտագործման կլինի հետեւյալն են:

Ընտրեք * է անձի

Ներքին միանալ ստորաբաժանում է Su_Person = Pe_ID

Լեզուն SQL եւ Գրանցման ներքին միանալ օպերատորը կարող է օգտագործվել ոչ միայն համատեղելով երկու կամ ավելի սեղաններ, այլեւ միացնել ենթաօրենսդրական այլ հարցումներ, ինչը մեծապես նպաստում է աշխատանքը տվյալների բազայի ադմինիստրատորները, եւ, որպես կանոն, կարող է զգալիորեն արագացնել իրականացմանը կոնկրետ, բարդ հարցման կառույցների.

Համատեղելով տվյալներ է սեղաններ գծի գիծ

Եթե հաշվի առնենք, որ կապը մեծ թվով ենթաօրենսդրական-հարցումների, եւ տվյալները հավաքվել են մեկ սեղանի տող առ տող, դուք կարող եք նաեւ օգտագործել օպերատորները միությանն ու Միությունում բոլոր.

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

Խաղային Description Ներքին Գրանցման օպերատորին

Շատ դեպքերում, կարելի է համատեղել մի քանի սեղաններ է SQL լեզվի կողմից օգտագործված ներքին միանալ օպերատորին: Խաղային Description Ներքին Միացեք SQL բավականին հեշտ է հասկանալ միջին ծրագրավորող, որը պարզապես սկսում է հասկանալ, որ տվյալների բազաների. Եթե հաշվի առնենք, որ նկարագրությունը մեխանիզմի աշխատանքի այս կառույցի, մենք ստանում ենք հետեւյալ պատկերը. Ապա տրամաբանությունը օպերատորը, որպես ամբողջություն, որը կառուցվում է հատման եւ հնարավորություն նմուշառման միայն տվյալները, որ գտնվում է յուրաքանչյուր սեղանների ներառված է հարցման.

Եթե մենք նայում այս տեսակի աշխատանքի առումով գրաֆիկական մեկնաբանության, մենք ձեռք SQL Ներքին Գրանցման օպերատորի կառուցվածքը, որի օրինակը կարող է ցույց է հետեւյալ սխեմայով:

Օրինակ, մենք ունենք երկու սեղաններ, ցույց սխեմատիկ գործիչ. Նրանք, իրենց հերթին, ունեն մի շարք այլ մուտքերի. Յուրաքանչյուրում սեղանների ունեն դաշտեր, որոնք կապված: Եթե մենք փորձում ենք բացատրել աշխատանքը օպերատորի հիման վրա Խաղարկության, որ վերադարձել արդյունքը կլինի մի շարք գրառումների երկու սեղանների, որտեղ սենյակները են փոխկապակցված ոլորտներում համընկնում. Պարզապես, հետեւյալ հարցումը վերադարձնում է միայն այն գրառումները (սեղանի շարք երկու), որի տվյալները գտնվում է թիվ մեկ սեղանի շուրջ:

The շարահյուսություն է ներքին միանալ

Ինչպես նշել է նախկինում, օպերատորը Ներքին Գրանցման, մասնավորապես, դրա շարահյուսական, անսովոր պարզ. Կազմակերպման համար հարաբերությունների միջեւ սեղանների ընթացքում մեկ նմուշի բավական է հիշել եւ օգտագործել հետեւյալ սխեմատիկ դիագրամ կառուցման օպերատորի, որը սահմանված է մեկ գծի ծրագրային SQL կոդի, մասնավորապես `

  • Ներքին Գրանցման [աղյուսակի անունը] վրա [առանցքային ոլորտում սեղանի որոնք տանում] = [շտեպսել առանցքային ոլորտում սեղանի շուրջ]:

Կապի համար այս հայտարարությունը հիմնականում օգտագործվում սեղաններ ստեղները: Որպես կանոն, այն խմբում, որտեղ սեղանների, որ պահել տեղեկություններ աշխատողների, նախկինում նկարագրված անձ ստորաբաժանում եւ ունեն առնվազն մեկ նման ռեկորդ: Այնպես որ, վերցնել ավելի սերտ նայում օպերատորին SQL ներքին միանալ, որի օրինակը ցուցադրվել է մի փոքր ավելի վաղ:

ՕՐԻՆԱԿ նկարագրությունը եւ կապ աուդիո օրինակելի սեղանի

Մենք ունենք մի մարդ սեղան, որը խանութներում տեղեկություններ բոլոր աշխատողների ընկերության. Պարզապես նշենք, որ տերը բանալին սեղանի մի դաշտ. Pe_ID. Պարզապես դրա վրա, եւ կգնա մի կապոց:

Երկրորդը աղյուսակը ստորաբաժանում չի խանութ մասին տեղեկություններ գրասենյակներ, որոնք աշխատակիցները աշխատում: Նա, իր հերթին, միացված միջոցով Su_Person դաշտային անձի սեղանին: Ինչ է սա նշանակում. Հիման վրա տվյալների schema կարելի է ասել, որ սեղանի ստորաբաժանումների յուրաքանչյուր գրառում սեղանին »Աշխատակիցների» լինելու մասին տեղեկություններ վարչության, որտեղ նրանք աշխատում են: Այն այս հաղորդակցության եւ կաշխատի օպերատորը ներքին միանալ.

Համար ավելի ինտուիտիվ օգտագործման համարում այն օպերատորը, SQL Ներքին Գրանցման (օրինակներ դրա օգտագործման համար մեկ կամ երկու սեղաններ): Եթե հաշվի առնենք, որ օրինակը նույն սեղանի շուրջ, ապա բոլորս բավականին պարզ է:

Ընտրեք * է անձի

Ներքին միանալ ստորաբաժանում է Su_Person = Pe_ID

ՕՐԻՆԱԿ միացնել երկու սեղաններ եւ subquery

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

Առաջին ճանապարհը է կապել վարչությունն սեղանի համտեսել: Կազմակերպել խնդրանքը այս դեպքում կարող է լինել հետեւյալը.

Ընտրեք Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name է անձի

Ներքին միանալ ստորաբաժանում է Su_Person = Pe_ID

Ներքին միանալ մեկնելու Su_Depart = Dep_ID եւ Pe_Depart = Dep_ID

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

Ընտրեք Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name է անձի

Ներքին միանալ ստորաբաժանում է Su_Person = Pe_ID

Ներքին միանալ (Ընտրել Dep_ID, Dep_Name, Pe_Depart ից Գնա) որպես T-ին Su_Depart = Dep_ID եւ Pe_Depart = Dep_ID

Հարկ է նշել, որ նման պայմանավորվածություն չի կարող միշտ արագացնել աշխատանքային խնդրանքը: Երբեմն լինում են դեպքեր, երբ դա անհրաժեշտ է օգտագործել լրացուցիչ նմուշային տվյալներից մեջ ժամանակավոր սեղանի (եթե ծավալը չափազանց մեծ է), եւ ապա այն զուգորդվում հիմնական նմուշի:

Օրինակ, օգտագործման ներքին միանալ օպերատորին նմուշների մի մեծ թվով սեղանների

Որ շինարարական ներառում է օգտագործել բարդ հարցումների համար ընտրանքային զգալի գումարների տվյալների աղյուսակների եւ subqueries փոխկապակցված: Այս պահանջները կարող է բավարարել SQL ներքին միանալ շարահյուսություն: Օրինակներ օգտագործման օպերատորին, այս դեպքում կարող է բարդ ոչ միայն նմուշները շատ պահեստային տեղերում, այլ նաեւ մեծ թվով nested subqueries: Մի կոնկրետ օրինակ, դուք կարող եք վերցնել տվյալների մի նմուշ համակարգի սեղանների (ներքին միանալ SQL հայտարարություն): Օրինակ 3-սեղանի, այս դեպքում պետք է մի բավականին բարդ կառույց:

Այս դեպքում կապված (առաջնային սեղանի) եւ երեք հետագա ներդրվել է մի քանի տվյալների ընտրության պայմաններում:

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

եզրափակում

Ի վերջո, ես ուզում եմ ասել, մի բան աշխատում բազաների, դա չէ, առավել դժվար բան է ծրագրավորման, այնպես որ, եթե դուք ուզում եք ամեն մարդ կկարողանա ձեռք բերել գիտելիքներ է տալիս կառուցել բազայի, եւ ժամանակի ընթացքում, ձեռք բերել փորձ, դուք ստանում եք աշխատել նրանց հետ է պրոֆեսիոնալ մակարդակով ,

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hy.delachieve.com. Theme powered by WordPress.