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-ში არ ემთხვევა