Asocierea datelor din mai multe tabele Flashcards
Avem doua tabele customer si address, dorim sa afisam datele clientului (first_name si last_name ) impreuna cu adresa care se afla in alt tabel..cum putem proceda ?
SELECT customer.first_name, customer.last_name, address.address
FROM customer JOIN address
ON address.address_id = customer.address_id;
Acesta este un exemplu de INNER JOIN iar daca clientul nu ar fi avut introdusa adresa el nici nu ar fi aparut in rezultate.
Cate tipuri de JOIN exista si care sunt ele ?
4 tipuri
Inner JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
Cum functioneaza LEFT JOIN ?
Cand se foloseste LEFT JOIN se vor afisa toate rezultatele din tabelul din stanga si doar randurile care contin valori pentru tabelul din dreapta.
Cum functioneaza RIGHT JOIN ?
Cand se foloseste RIGHT JOIN, se vor afisa toate rezultatele tabelului din dreapta si doar randurile care contin valori pentru tabelul din stanga.
Cum functioneaza FULL JOIN?
Cand folosim FULL JOIN se vor afisa si rezultatele din tabelul din dreapta si cel din stanga chiar daca acestea nu contin valori.
Da-ti un exemplu de LEFT/RIGHT JOIN
SELECT customer.first_name, customer.last_name. address.address FROM customer
LEFT / RIGHT JOIN address ON address.address_id = customer.address_id
Cum se realizeaza FULL JOIN ?
SELECT customer.first_name, customer.last_name, address.address FROM customer
LEFT JOIN address ON address.address_id = customer.address_id
UNION
SELECT customer.first_name, customer.last_name,
address.address from customer
RIGHT JOIN address ON address.address_id = customer.address_id