Sobes.tech
Middle

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

sobes.tech AI

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

INNER JOIN მხოლოდ იმ სვეტებს აბრუნებს, რომელთაც ორივე ცხრილში შესაბამისი მნიშვნელობები აქვთ. თუ ერთ ცხრილში შესაბამისი ჩანაწერი არ არის, ის სვეტი შედეგებში არ მოხვდება.

LEFT JOIN (ანუ LEFT OUTER JOIN) აბრუნებს ყველა სვეტს მარცხენა ცხრილიდან და შესაბამის სვეტებს მარჯვენა ცხრილიდან. თუ მარჯვენა ცხრილში შესაბამისობა არ არის, შედეგში მარჯვენა ცხრილის ველები NULL იქნება.

მაგალითი:

SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;

-- მხოლოდ იმ id-ებს დააბრუნებს, რომლებსაც B-ში შესაბამისი ჩანაწერი აქვთ

SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;

-- ყველა id-ებს დააბრუნებს A-დან, და მათთვის, ვისაც B-ში შესაბამისობა არ აქვს, value NULL იქნება