Junior
Ինչպես է աշխատում SQL Join-ը?
sobes.tech AI
Պատասխան AI-ից
SQL JOIN միավորում է երկու կամ ավելի աղյուսակների տողերը՝ հիմնվելով նրանց միջև կապակցված սյունակի վրա։ Կան մի քանի տեսակների JOIN.
INNER JOIN: Վերադարձնում է այն տողերը, որտեղ արժեքները համընկնում են երկու աղյուսակներում:LEFT (OUTER) JOIN: Վերադարձնում է բոլոր տողերը ձախ աղյուսակից և համընկնող տողերը աջից։ Եթե համընկնումներ չկան, աջ աղյուսակի սյունակների համար արժեքը կլինիNULL:RIGHT (OUTER) JOIN: Վերադարձնում է բոլոր տողերը աջ աղյուսակից և համընկնող տողերը ձախից։ Եթե համընկնումներ չկան, ձախ աղյուսակի սյունակների համար արժեքը կլինիNULL:FULL (OUTER) JOIN: Վերադարձնում է բոլոր տողերը երկու աղյուսակներից։ Եթե համընկնումներ չկան, համապատասխան սյունակների արժեքները կլինենNULL:CROSS JOIN: Վերադարձնում է երկու աղյուսակների դեկարտյան արտադրանքը (յուրաքանչյուր տող առաջին աղյուսակից միանում է յուրաքանչյուր տողի երկրորդից):
Սինտաքսիսը սովորաբար wygląda է այսպես:
SELECT սյունակ1, սյունակ2...
FROM աղյուսակ1
JOIN աղյուսակ2 ON աղյուսակ1.համատեղ_սյունակ = աղյուսակ2.համատեղ_սյունակ;
Օրինակ INNER JOIN:
SELECT պատվերներ.order_id, հաճախորդներ.customer_name
FROM պատվերներ
INNER JOIN հաճախորդներ ON պատվերներ.customer_id = հաճախորդներ.customer_id;
Նայենք հաճախորդներ և պատվերներ աղյուսակները:
հաճախորդներ
| customer_id | customer_name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
պատվերներ
| order_id | customer_id | amount |
|---|---|---|
| 101 | 1 | 100 |
| 102 | 2 | 150 |
| 103 | 1 | 200 |
| 104 | 4 | 50 |
Արդյունքը INNER JOIN կլինի.
| order_id | customer_name |
|---|---|
| 101 | Alice |
| 102 | Bob |
| 103 | Alice |
Արդյունքը LEFT JOIN (պատվերներ LEFT JOIN հաճախորդներ):
| order_id | customer_id | amount | customer_name |
|---|---|---|---|
| 101 | 1 | 100 | Alice |
| 102 | 2 | 150 | Bob |
| 103 | 1 | 200 | Alice |
| 104 | 4 | 50 | NULL |