Junior
INNER JOIN менен OUTER JOIN ортосунда кандай айырма бар?
sobes.tech AI
AIден жооп
INNER JOIN, бирикүү шартына ылайык эки таблицада да туура келген саптарды гана кайтарат. Эгер бир таблицада тиешелүү жазуу жок болсо, ал сап натыйга кирбейт.
OUTER JOIN бир таблицадан бардык саптарды жана экинчи таблицадан тиешелүү саптарды кайтарат, жана эгер туура келгендер жок болсо, жетишпеген маалыматтар NULL менен алмаштырылат. Үч түрү бар:
- LEFT OUTER JOIN — сол таблицанын бардык саптары + оң жактан туура келгендер;
- RIGHT OUTER JOIN — оң таблицанын бардык саптары + сол жактан туура келгендер;
- FULL OUTER JOIN — эки таблицанын бардык саптары, туура келбегендер NULL.
Мисал:
SELECT * FROM employees INNER JOIN departments ON employees.dept_id = departments.id;
-- гана бөлүмү бар кызматкерлерди кайтарат
SELECT * FROM employees LEFT OUTER JOIN departments ON employees.dept_id = departments.id;
-- бардык кызматкерлерди кайтарат, бөлүмү жоктор да (departments баганаларында NULL болот)