Sobes.tech
Middle

SQL-ში რა ტიპის JOIN-ები არსებობს და რა განსხვავებები აქვთ LEFT JOIN, RIGHT JOIN და INNER JOIN-ებს?

sobes.tech AI

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

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

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

მაგალითი:

A ცხრილი:

id სახელი
1 Alice
2 Bob

B ცხრილი:

id ქალაქი
1 London
3 Berlin
  • INNER JOIN id-ის მიხედვით დააბრუნებს მხოლოდ id=1 (Alice და London).
  • LEFT JOIN:
    • id=1 (Alice, London)
    • id=2 (Bob, NULL)
  • RIGHT JOIN:
    • id=1 (Alice, London)
    • id=3 (NULL, Berlin)

ამ გზით, LEFT და RIGHT JOIN ინარჩუნებს ყველა სვეტს ერთ ცხრილში და ავსებს მას მონაცემებით მეორე ცხრილიდან, ხოლო INNER JOIN — მხოლოდ შესაბამის მონაცემებს.