Sobes.tech
Junior — Middle

SQL-ში სვეტების გაერთიანების დროს INNER JOIN და OUTER JOIN-ის გამოყენების რა განსხვავებაა?

sobes.tech AI

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

Inner Join მხოლოდ იმ სვეტებს აბრუნებს, რომლებიც ორივე ცხრილში შესაბამისობაშია შეზღუდვის პირობით. თუ ერთ ცხრილში შესაბამისი ჩანაწერი არ არის, სვეტი შედეგებში არ მოხვდება.

Outer Join (Left, Right ან Full) აბრუნებს ყველა სვეტს ერთ ან ორივე ცხრილიდან, მათ შორის იმ სვეტებსაც, სადაც შესაბამისობა არ არის. ასეთ შემთხვევებში, აკლებული მნიშვნელობები შეივსება NULL-ით.

მაგალითი:

-- Inner Join: მხოლოდ შესაბამისი ჩანაწერები
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;

-- Left Outer Join: ყველა მომხმარებელი, მათ შორის, ვისაც არ აქვს შეკვეთა
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;