Junior
Wat weet je over steekproeven en joins in databases?
sobes.tech AI
Antwoord van AI
Monster (query SELECT) haalt gegevens uit één of meerdere tabellen. Joins (JOIN) combineren rijen uit twee of meer tabellen op basis van een gerelateerde kolom tussen hen.
Types joins:
- INNER JOIN: Geeft rijen terug die overeenkomsten hebben in beide tabellen.
- LEFT JOIN (LEFT OUTER JOIN): Geeft alle rijen uit de linker tabel en de overeenkomende rijen uit de rechter. Als er geen overeenkomsten zijn, worden
NULLteruggegeven voor de rechter tabel. - RIGHT JOIN (RIGHT OUTER JOIN): Geeft alle rijen uit de rechter tabel en de overeenkomende rijen uit de linker. Als er geen overeenkomsten zijn, worden
NULLteruggegeven voor de linker tabel. - FULL JOIN (FULL OUTER JOIN): Geeft alle rijen terug waar er overeenkomsten zijn in ten minste één van de tabellen. Als er geen overeenkomsten zijn, worden
NULLteruggegeven voor de ontbrekende velden. (Niet ondersteund door alle DBMS, bijvoorbeeld MySQL gebruikt UNION om het te emuleren). - CROSS JOIN: Geeft het cartesiaanse product van rijen uit beide tabellen (elke rij van de eerste tabel wordt gecombineerd met elke rij van de tweede).
Voorbeeld syntaxis:
-- 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;
Sleutelwoorden voor queries:
SELECT: Bepaalt de kolommen die worden geëxtraheerd.FROM: Geeft de tabel(len) aan.WHERE: Filtert rijen op basis van een gegeven voorwaarde.GROUP BY: Groepeert rijen met gelijke waarden in één samenvattingsrij.HAVING: Filtert groepen naGROUP BY.ORDER BY: Sorteert het resultaat.LIMIT / OFFSET: Beperkt het aantal geretourneerde rijen.
Optimalisatie van queries en joins is belangrijk voor de prestaties van de database. Indexen, juiste datatypes, vermijden van SELECT * (indien mogelijk), optimalisatie van voorwaarden in WHERE worden gebruikt.
In PHP worden extensies zoals PDO of MySQLi gebruikt, die API's bieden voor het uitvoeren van SQL-queries.