Sobes.tech
Junior

Mit tud az adatbázisok mintavételeiről és összekapcsolásairól?

sobes.tech MI

Válasz az MI-től

Minták (kérdések SELECT) adatokat nyernek ki egy vagy több táblából. A csatlakozások (JOIN) két vagy több tábla sorait kapcsolják össze egy összefüggő oszlop alapján.

Csatlakozások típusai:

  • INNER JOIN: Olyan sorokat ad vissza, amelyek mindkét táblában megtalálhatók.
  • LEFT JOIN (LEFT OUTER JOIN): Minden sort visszaad a bal oldali táblából és a hozzá tartozókat a jobb oldaliból. Ha nincs megfelelés, NULL értéket ad vissza a jobb oldalra.
  • RIGHT JOIN (RIGHT OUTER JOIN): Minden sort visszaad a jobb oldali táblából és a hozzá tartozókat a bal oldaliból. Ha nincs megfelelés, NULL értéket ad vissza a bal oldalra.
  • FULL JOIN (FULL OUTER JOIN): Minden sort visszaad, ahol legalább az egyik táblában van megfelelés. Ha nincs megfelelés, NULL értéket ad a hiányzó mezőkhöz. (Nem támogatott minden DBMS-ben, például MySQL UNION-t használ az emulációhoz).
  • CROSS JOIN: A két tábla sorainak kartéziánus szorzatát adja vissza (minden első tábla sor minden második tábla sorral összekapcsolódik).

Szintaxis példák:

-- 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;

Lekérdezés kulcsszavak:

  • SELECT: Meghatározza azokat az oszlopokat, amelyeket ki akarunk nyerni.
  • FROM: Megadja a táblát(ákat).
  • WHERE: Szűri a sorokat egy adott feltétel alapján.
  • GROUP BY: Csoportosítja az azonos értékű sorokat egy összefoglaló sorba.
  • HAVING: Szűri a csoportokat a GROUP BY után.
  • ORDER BY: Rendezést végez az eredményen.
  • LIMIT / OFFSET: Korlátozza a visszaadott sorok számát.

A lekérdezések és csatlakozások optimalizálása fontos a adatbázis teljesítményéhez. Indexek, helyes adattípusok, SELECT * elkerülése (amennyiben lehetséges), a WHERE feltételek optimalizálása alkalmazandó.

PHP-ben a lekérdezésekkel és csatlakozásokkal a PDO vagy MySQLi kiterjesztéseket használják, amelyek API-t biztosítanak SQL lekérdezések végrehajtásához.