Sobes.tech
Senior

CREATE TABLE staff ( id TEXT name TEXT head_id TEXT ); id | name | head_id -------------------- 1 | Ivan | NULL 2 | Petr | 1 3 | Alice | 1 4 | Max | 2 5 | Alex | 2 6 | Elena | 4 7 | Bob | NULL Kutilgan natija: employee_name | manager_name --------------------------- Ivan | NULL Petr | Ivan Alice | Ivan Max | Petr Alex | Petr Elena | Max Bob | NULL SELECT e.name AS employee_name, m.name AS manager_name FROM staff e LEFT JOIN staff m ON e.head_id = m.id

sobes.tech AI

AIdan javob

Berilgan misolda, SQL so'rovi, staff jadvalidan o'z-o'zini JOIN yordamida xodimlar va ularning rahbarlarini ro'yxatini to'g'ri chiqaradi.

staff jadvali id, name va head_id maydonlarini o'z ichiga oladi, bunda head_id xodim rahbarining id ga ishora qiladi.

So'rov:

SELECT e.name AS employee_name, m.name AS manager_name
FROM staff e
LEFT JOIN staff m ON e.head_id = m.id
  • e xodimlar uchun alias.
  • m ularning menejerlari uchun alias.
  • LEFT JOIN hatto rahbarisiz xodimlar (masalan, Ivan va Bob) uchun ham manager_name = NULL bo'lgan satrni ta'minlaydi.

Shu tarzda, so'rov xodimlarning ismlari va ularning rahbarlarining ismlarini, agar mavjud bo'lsa, ko'rsatadi, bu kutilgan natijaga mos keladi.