Junior
Ko jūs zināt par paraugiem un savienojumiem datu bāzēs?
sobes.tech AI
Atbilde no AI
Izvēles (vaicājumi SELECT) ļauj iegūt datus no viena vai vairākiem tabulām. Savienojumi (JOIN) apvieno rindas no divām vai vairākām tabulām, pamatojoties uz saistīto kolonnu.
Savienojumu veidi:
- INNER JOIN: Atgriež rindas, kurās ir atbilstība abās tabulās.
- LEFT JOIN (LEFT OUTER JOIN): Atgriež visas rindas no kreisās tabulas un atbilstošās no labās. Ja atbilstība nav, labās tabulas vērtības būs
NULL. - RIGHT JOIN (RIGHT OUTER JOIN): Atgriež visas rindas no labās tabulas un atbilstošās no kreisās. Ja atbilstība nav, kreisās tabulas vērtības būs
NULL. - FULL JOIN (FULL OUTER JOIN): Atgriež visas rindas, ja ir atbilstība vismaz vienā tabulā. Ja atbilstība nav, trūkstošās vērtības būs
NULL. (Ne visas datu bāzes to atbalsta, piemēram, MySQL izmanto UNION imitācijai). - CROSS JOIN: Atgriež abu tabulu krustojošo produktu (katra pirmās tabulas rinda ar katru otras).
Sintakses piemēri:
-- 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;
Svarīgi vārdi izvēlēm:
SELECT: Nosaka kolonnu izvēli.FROM: Norāda tabulu(-as).WHERE: Filtrē rindas pēc noteiktā nosacījuma.GROUP BY: Grupē rindas ar vienādām vērtībām.HAVING: Filtrē grupas pēcGROUP BY.ORDER BY: Kārtot rezultātu.LIMIT / OFFSET: Ierobežo atgriezto rindu skaitu.
Optimizēt izvēles un savienojumus ir svarīgi datu bāzes veiktspējai. Tiek izmantoti indeksi, pareiza datu tipu noteikšana, izvairīšanās no SELECT * (ja iespējams), nosacījumu WHERE optimizācija.
PHP izmantošanai ar izvēlēm un savienojumiem ir pieejami PDO vai MySQLi paplašinājumi, kas nodrošina API SQL vaicājumu izpildei.