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 — მხოლოდ შესაბამის მონაცემებს.