Sobes.tech
Junior

როგორ მუშაობს SQL Join?

sobes.tech AI

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

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

  • INNER JOIN: აბრუნებს ხაზებს, სადაც მნიშვნელობები ემთხვევა ორივე ცხრილში.
  • LEFT (OUTER) JOIN: აბრუნებს ყველა ხაზს მარცხენა ცხრილიდან და ემთხვევა ხაზებს მარჯვენა ცხრილიდან. თუ ემთხვევა, მარჯვენა ცხრილის სვეტებში იქნება მნიშვნელობა; თუ არა, იქნება NULL.
  • RIGHT (OUTER) JOIN: აბრუნებს ყველა ხაზს მარჯვენა ცხრილიდან და ემთხვევა ხაზებს მარცხენა ცხრილიდან. თუ ემთხვევა, მარცხენა სვეტებში იქნება მნიშვნელობა; თუ არა, იქნება NULL.
  • FULL (OUTER) JOIN: აბრუნებს ყველა ხაზს ორივე ცხრილიდან. თუ ემთხვევა, შესაბამის სვეტებში იქნება მნიშვნელობა; თუ არა, იქნება NULL.
  • CROSS JOIN: აბრუნებს ორი ცხრილის კარტეზიანურ პროდუქტს (ყოველი ხაზის გაერთიანება პირველი და მეორე ცხრილიდან).

სინტაქსი ჩვეულებრივ ასე გამოიყურება:

SELECT სვეტი1, სვეტი2...
FROM ცხრილი1
JOIN ცხრილი2 ON ცხრილი1.საერთო_სვეტი = ცხრილი2.საერთო_სვეტი;

მაგალითი INNER JOIN:

SELECT შეკვეთები.order_id, მომხმარებლები.customer_name
FROM შეკვეთები
INNER JOIN მომხმარებლები ON შეკვეთები.customer_id = მომხმარებლები.customer_id;

მოდით განვიხილოთ მომხმარებლები და შეკვეთები ცხრილები:

მომხმარებლები

customer_id customer_name
1 Alice
2 Bob
3 Charlie

შეკვეთები

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

INNER JOIN-ის შედეგი იქნება:

order_id customer_name
101 Alice
102 Bob
103 Alice

LEFT JOIN-ის შედეგი (შეკვეთები LEFT JOIN მომხმარებლები):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL