Sobes.tech
Middle

რა განსხვავებაა JOIN, LEFT JOIN და RIGHT JOIN შორის?

sobes.tech AI

პასუხი AI-სგან

JOIN არის ოპერაცია SQL-ში, რომელიც აერთიანებს ორი ცხრილის სვეტებს შესაბამისობის პირობების საფუძველზე.

  • JOIN (ან Inner Join) აბრუნებს მხოლოდ იმ სვეტებს, სადაც ორივე ცხრილში არსებობს შესაბამისობა.
  • LEFT JOIN აბრუნებს ყველა სვეტს მარცხენა ცხრილიდან და შესაბამის სვეტებს მარჯვენა ცხრილიდან. თუ შესაბამისობა არ არის, მარჯვენა ცხრილის სვეტები იქნება NULL.
  • RIGHT JOIN პირიქით, აბრუნებს ყველა სვეტს მარჯვენა ცხრილიდან და შესაბამისებს მარცხენა ცხრილიდან, NULL-ით, სადაც შესაბამისობა არ არის.

მაგალითი:

SELECT * FROM A
JOIN B ON A.id = B.a_id; -- მხოლოდ შესაბამისი

SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- ყველაფერი A-დან + შესაბამისი B-დან

SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- ყველაფერი B-დან + შესაბამისი A-დან