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 aGROUP BYutá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.