SQLде сол жакты бириктирүү (left join) эмне?
sobes.tech AI
AIден жооп
Левое соединение (LEFT JOIN же LEFT OUTER JOIN) SQLдө колдонулат эки таблицадан саптарды бириктирүү үчүн.
LEFT JOINдин жыйынтыгы:
- Бардык саптар сол (биринчи) таблицадан.
- Тийиштүү саптар оң (экинчи) таблицадан, шарт аткарылганда.
- Сол таблицанын саптары үчүн, алардын оң жактагы салыштырмалуулары жок болсо, оң жактагы тилкелер
NULLмаанисинде болот.
Синтаксис мисалы:
SELECT <тизмелүү тилкелер>
FROM <сол таблица> AS L
LEFT JOIN <оң таблица> AS R ON L.<байланыштуу тилке> = R.<байланыштуу тилке>;
иштөө схемасы:
Ар бир сол таблицанын саптары каралат. Ар бир сап үчүн оң таблицада шартка ылайык издөө жүргүзүлөт:
- Эгер тийиштүү саптар табылса, сол таблицанын сапы оң таблицанын бардык тийиштүү саптар менен биригет:
- Эгер тийиштүү саптар табылбаса, сол таблицанын сапы натыйкка кошулат, ал эми оң жактагы тилкелер
NULLболот:
Визуалдык көрсөтүү:
Эки маалымат топтомун элестетип көрүңүз: Left (сол таблица) жана Right (оң таблица). LEFT JOIN бардык Left элементтерин кайтарат, ошондой эле Rightтен тиешелүү элементтерди да, эгер бар болсо. Эгер Leftте тиешелүү эмес элементтер болсо, алар да натыйкка кирет, бирок алардын оң жактагы тилкелери бош (NULL) болот.
Башка JOIN түрлөрү менен салыштыруу:
| JOIN түрү | Description |
|---|---|
| INNER JOIN | Эки таблицада да бар болгон саптарды гана кайтарат. |
| LEFT JOIN | Сол таблицадан бардык саптарды жана тиешелүү саптарды кайтарат, тиешелүү эмес болсо NULL. |
| RIGHT JOIN | Оң таблицадан бардык саптарды жана тиешелүү саптарды кайтарат, тиешелүү эмес болсо NULL. |
| FULL OUTER JOIN | Бардык саптарды кайтарат, тиешелүү болсо же жок болсо, NULL. |
Мындайча айтканда, LEFT JOIN пайдалуу, эгер бир таблицадан толук тизмек алгыңыз келсе жана башка таблицадан маалыматтарды толуктоо керек болсо, андыктан бардык жазуулар үчүн тиешелүү маалыматтар жок болсо да, алардын тийиштүү маалыматтары алынат.