SQL- ում սեղանների հետ աշխատելիս կարող են լինել որոշ իրավիճակներ, երբ անհրաժեշտ է հարցնել երեք կամ ավելի աղյուսակներ: Կարող եք միացնել երեք սեղան ՝ նախ օգտագործելով միացման հայտարարությունը ՝ միացնելով երկու սեղան ՝ ժամանակավոր միացված աղյուսակ ստեղծելու համար: Այնուհետեւ օգտագործեք երկրորդ միացման հայտարարությունը `երրորդ աղյուսակին միանալու համար:
Քայլեր
Քայլ 1. Մուտքագրեք SELECT, որին հաջորդում են այն սյունակների անունները, որոնք ցանկանում եք հարցնել:
Մուտքագրեք սյունակի անունը երեքից, որոնք ցանկանում եք հարցնել: Սյունակի յուրաքանչյուր անունն առանձնացրեք ստորակետով: Այս օրինակում մենք հարցնելու ենք «Սովորողներ», «Դպրոցներ», «Մանրամասներ» անուններով երեք աղյուսակներից:
Օրինակ SELECT student_id, student_name, school_id, school, grade
Քայլ 2. Մուտքագրեք FROM, որին հաջորդում է առաջին սեղանի անունը:
Սա կարող է անցնել առանձին տողով կամ առաջին հայտարարությունից անմիջապես հետո: Մեր օրինակում մենք մուտքագրում ենք ուսանողներից:
Քայլ 3. Մուտքագրեք միացման հայտարարություն, որին հաջորդում է երկրորդ աղյուսակի անունը:
Կան չորս տեսակի միացման հայտարարություններ, որոնք կարող եք օգտագործել երկու աղյուսակներին միանալու համար: Դրանք հետևյալն են.
- Մուտքագրեք JOIN ՝ անելու համար Ներքին միացում. Սա վերադարձնում է երկու աղյուսակներում համապատասխան արժեքներ ունեցող գրառումները: Օրինակ ՝ ուսանողներից միացեք մանրամասներին:
- Մուտքագրեք LEFT JOIN ՝ անելու համար Արտաքին ձախ Միացեք. Սա վերադարձնում է բոլոր գրառումները ձախ սեղանից և համապատասխանող արժեքները աջ սեղանից: Օրինակ ՝ ՈւՍԱՆՈՆԵՐԻ L ՄԻԱԵԼ ՄԱՍԻՆ Մանրամասներ:
- Մուտքագրեք RIGHT JOIN ՝ a Արտաքին աջ Միացեք. Սա վերադարձնում է բոլոր գրառումները աջ աղյուսակից և համապատասխանող արժեքները ձախ սեղանից: Օրինակ ՝ ՈւՍԱՆՈՆԵՐԻ R IGHԻՇՏ ՄԻԱԵԼ Մանրամասներ:
- Մուտքագրեք FULL JOIN ՝ դա անելու համար Ամբողջական արտաքին միացում. Սա վերադարձնում է բոլոր գրառումները երկու աղյուսակներից: Օրինակ ՝ ուսանողներից Ամբողջությամբ միացեք մանրամասներին:
Քայլ 4. Աղյուսակների և սյունակների միացման համար մուտքագրեք «ON» հայտարարություն:
Այս հայտարարության շարահյուսությունը «ON table_1.primary_key = table_2.foreign_key» է: «Աղյուսակ_1» - ը այն առաջին աղյուսակի անունն է, որին միանում եք, իսկ «առաջնային_բանալին» ՝ առաջին աղյուսակի առաջնային սյունակի անունն է: «Table_2» - ը երկրորդ աղյուսակի անունն է, իսկ «Foreign_key» - ը երկրորդ սյունակի սյունակի անունն է, որը համընկնում է առաջին աղյուսակի առաջնային սյունակի հետ:
- Մեր օրինակում «Ուսանողները» առաջին աղյուսակն է, իսկ «ուսանող_իդը» ՝ Ուսանողների աղյուսակի առաջնային բանալին, որը նույնպես Մանրամասների աղյուսակում է: Այսպիսով, մենք մուտքագրում էինք ON Student.student_id = Details.student_id: Սա միանում է Ուսանողների սեղանին Մանրամասների աղյուսակին `օգտագործելով« student_id » - ը որպես հիմնական բանալին:
- Այլապես, եթե student_name սյունակը գտնվում է «Մանրամասներ» աղյուսակում, ապա student_id դաշտի փոխարեն կարող եք ցուցադրել student_name սյունակը ՝ մուտքագրելով ON Student.student_id = Details.student_name:
Քայլ 5. Մուտքագրեք միացման հայտարարություն, որին հաջորդում է երրորդ աղյուսակի անունը:
Սա կարող է լինել առանձին տողի վրա կամ «ON» հայտարարությունից անմիջապես հետո, որը միացել է առաջին երկու աղյուսակներին: Դուք կարող եք օգտագործել չորս միացման չորս հայտարարություններից որևէ մեկը:
Մեր օրինակում մենք մուտքագրում ենք ՄԻԱԵԼ դպրոցներ:
Քայլ 6. Մուտքագրեք «ON» հայտարարություն, որը ցույց է տալիս, թե որ աղյուսակներն ու սյուները միացված կլինեն:
Երրորդ միացման շարահյուսությունը «ON table_3.primary_key = table_1.foreign_key» է: «Աղյուսակ_1»: Աղյուսակ 3 -ը երրորդ աղյուսակի անունն է: Սա վերջնական միացմանը ավելացնում է երեք աղյուսակ` օգտագործելով երրորդ աղյուսակի առաջնային սյունակի անունը և առաջին աղյուսակի օտարերկրյա բանալին: Մեր օրինակում սա մենք մուտքագրում ենք ON Schools.student_id = Աշակերտներ.student_id. Միացման ամբողջ հայտարարությունը պետք է ունենա այսպիսի տեսք.
ԸՆՏՐԵԼ student_id, student_name, school_id, school, class FROM Աշակերտներից Ամբողջությամբ ՄԻԱ DetԵԼ Մանրամասները ON Student.student_id = Details.student_id ՄԻԱԵՔ SchoolS ON Schools.student_id = Student.student_id