Junior
Ce știi despre eșantioane și îmbinări în baze de date?
sobes.tech AI
Răspuns de la AI
Exemplele (interogări SELECT) extrag date dintr-o sau mai multe tabele. Îmbinările (JOIN) combină rânduri din două sau mai multe tabele pe baza unei coloane legate între ele.
Tipuri de îmbinări:
- INNER JOIN: Returnează rândurile care au potriviri în ambele tabele.
- LEFT JOIN (LEFT OUTER JOIN): Returnează toate rândurile din tabelul din stânga și rândurile corespunzătoare din dreapta. Dacă nu există potriviri, se returnează
NULLpentru tabelul din dreapta. - RIGHT JOIN (RIGHT OUTER JOIN): Returnează toate rândurile din tabelul din dreapta și rândurile corespunzătoare din stânga. Dacă nu există potriviri, se returnează
NULLpentru tabelul din stânga. - FULL JOIN (FULL OUTER JOIN): Returnează toate rândurile în cazul în care există potriviri cel puțin într-unul dintre tabele. Dacă nu există potriviri, se returnează
NULLpentru câmpurile lipsă. (Nu este suportat de toate SGBD-urile, de exemplu, MySQL folosește UNION pentru a emula). - CROSS JOIN: Returnează produsul cartezian al rândurilor din ambele tabele (fiecare rând din prima tabelă se combină cu fiecare rând din a doua).
Exemple de sintaxă:
-- INNER JOIN
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.foreign_id;
-- LEFT JOIN
SELECT customer.name, order.order_id
FROM customer
LEFT JOIN order ON customer.id = order.customer_id;
Cuvinte cheie pentru interogări:
SELECT: Definește coloanele pentru extragere.FROM: Indică tabela(tabelele).WHERE: Filtrează rândurile după o condiție dată.GROUP BY: Grupează rândurile cu valori egale într-un rând rezumat.HAVING: Filtrează grupurile dupăGROUP BY.ORDER BY: Sortează rezultatul.LIMIT / OFFSET: Limitează numărul de rânduri returnate.
Optimizarea interogărilor și a îmbinărilor este importantă pentru performanța bazei de date. Se folosesc indexuri, definirea corectă a tipurilor de date, evitarea SELECT * (dacă este posibil), optimizarea condițiilor din WHERE.
În PHP, pentru a lucra cu interogări și îmbinări, se folosesc extensii precum PDO sau MySQLi, care oferă API-uri pentru executarea interogărilor SQL.