Një JOIN kombinon rreshta nga dy tabela duke përputhur një kusht, zakonisht një foreign key. Tipi i join-it vendos se çfarë ndodh me rreshtat që s'kanë përputhje në anën tjetër.
Një JOIN kombinon rreshta nga dy tabela duke përputhur një kusht, zakonisht një foreign key. Tipi i join-it vendos se çfarë ndodh me rreshtat që s'kanë përputhje në anën tjetër.
NULL.-- customers(id, name) orders(id, customer_id, total)
-- INNER: vetëm klientët që kanë të paktën një order
SELECT c.name, o.total
FROM customers c
INNER JOIN orders o ON o.customer_id = c.id;
-- LEFT: çdo klient, edhe ata me zero orders (total = NULL)
SELECT c.name, o.total
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;
-- Përdorim klasik: gjej klientët PA orders
SELECT c.name
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
WHERE o.id IS NULL; -- ana NULL e LEFT JOIN e zbulon boshllëkun
WHERE (p.sh. WHERE o.total > 100) heshturazi e kthen një LEFT JOIN përsëri në një INNER JOIN, sepse NULL > 100 është false. Vendos kushte të tilla në klauzolën ON nëse do të mbash rreshtat e paperputhur.Shumica e query-ve reale përfshijnë tabela të shumta, dhe tipi i gabuar i join-it heshturazi hedh ose dyfishon rreshta — një bug që kthen rezultate të besueshme. Të dish që LEFT JOIN + IS NULL gjen rreshtat "që mungojnë", dhe që një WHERE mbi anën null e anulon LEFT-in, parandalon një klasë të tërë gabimesh raportimi.
Një bibliotekë pyetjesh intervistash IT me përgjigje të detajuara — nga Junior te Senior.
Dhuro