Sobes.tech
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ēc GROUP 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.