Junior — Middle
Kas saaksite selgitada erinevusi INNER JOIN ja LEFT JOIN vahel SQL-is?
sobes.tech AI
Vastus AI-lt
Sisemine ühendus (INNER JOIN) tagastab ainult need read, millel on vastavused mõlemas tabelis vastavalt ühenduse tingimusele. Kui ühes tabelis puudub vastav kirje, siis selline rida ei kuulu tulemustesse.
Vasakpoolne ühendus (LEFT JOIN) tagastab kõik vasakpoolsed read ja vastavad parempoolsed read. Kui vastavust ei ole, on parempoolsete väärtused NULL.
Näide:
SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;
Tagastab ainult kliendid, kellel on tellimused.
SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;
Tagastab kõik kliendid, kaasa arvatud need, kellel pole tellimusi (sellisel juhul on order_id NULL).