Sobes.tech
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;

ეს შეკითხვა დააბრუნებს თანამშრომლების სახელებს და მათი განყოფილებების სახელებს, მხოლოდ იმ თანამშრომლებისთვის, რომლებსაც აქვთ განყოფილება.