Sobes.tech
Junior — Middle

SQL-ში შიდა კავშირი და მარჯვენა გარე კავშირი რა განსხვავებაა?

sobes.tech AI

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

SQL-ში, შიდა შეხამება (INNER JOIN) და მარჯვენა გარე შეხამება (RIGHT OUTER JOIN) განსხვავდება იმით, თუ რომელი სვეტები შედის შედეგში.

  • INNER JOIN აბრუნებს მხოლოდ იმ სვეტებს, რომლებიც ორივე ცხრილში ემთხვევა შეხამების პირობას.

  • RIGHT OUTER JOIN აბრუნებს ყველა სვეტს მარჯვენა ცხრილიდან და შესაბამის სვეტებს მარცხენა ცხრილიდან. თუ მარჯვენა სვეტში სვეტი არ ემთხვევა მარცხენა სვეტს, მარცხენა სვეტების ველები იქნება NULL.

მაგალითი:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- აბრუნებს მხოლოდ იმ სვეტებს, სადაც A.id ემთხვევა B.a_id-ს

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- აბრუნებს ყველა სვეტს B-დან, მიუხედავად იმისა, რომ A-ში არ ემთხვევა