Junior — Middle
შეგიძლიათ ახსნათ SQL-ში ცხრილების სხვადასხვა სახის კავშირების განსხვავებები?
sobes.tech AI
პასუხი AI-სგან
SQL-ში არსებობს რამდენიმე ძირითადი სახის შეუერთება (JOIN), რომლებიც საშუალებას აძლევენ მონაცემების გაერთიანებას ორი ან მეტი სქემიდან:
- INNER JOIN — აბრუნებს მხოლოდ იმ სვეტებს, სადაც ორივე სქემაში არსებობს შესაბამისობა პირობაზე.
- LEFT JOIN (LEFT OUTER JOIN) — აბრუნებს ყველა სვეტს მარცხენა სქემიდან და შესაბამის სვეტებს მარჯვენა სქემიდან; თუ შესაბამისობა არ არის, მარჯვენა სვეტების მნიშვნელობები იქნება NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — აბრუნებს ყველა სვეტს მარჯვენა სქემიდან და შესაბამის სვეტებს მარცხენა სქემიდან.
- FULL JOIN (FULL OUTER JOIN) — აბრუნებს ყველა სვეტს ორივე სქემიდან, სადაც შესაბამისობა არ არის, ამ ადგილებში იქნება NULL.
- CROSS JOIN — ორი სქემის კარტეზიანული გამრავლება, რომელიც აბრუნებს ყველა შესაძლო სვეტების კომბინაციას.
მაგალითი INNER JOIN-ის:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
ეს შეკითხვა დააბრუნებს თანამშრომლების სახელებს და მათი განყოფილებების სახელებს, მხოლოდ იმ თანამშრომლებისთვის, რომლებსაც აქვთ განყოფილება.