SELECT lekérdezés szerkezete:
SELECT megjelenítési feltételek
FROM táblakifejezés
[WHERE szűkítőfeltételek]
[GROUP BY csoportosítási feltételek]
[HAVING csoportfeltételek]
[ORDER BY sorbarendezési feltételek]

SELECT megjelenítési feltételek:
Ha minden oszlopot szeretnénk megjeleníteni, akkor a * jelet használjuk (pl. SELECT * FROM ember;).
Ha nem minden oszlopot szeretnénk megjeleníteni, akkor vesszővel elválasztva felsoroljuk az oszlopneveket (pl. SELECT nev, szul_hely FROM ember;).
Az oszlopokat felcimkézhetjük az AS kulcsszó segítségével: (pl. SELECT nev AS [név], szul_hely AS [születési hely] FROM ember;).
Gyűjtő függvények:

  • COUNT() elemek számát adja meg. (pl. SELECT COUNT(ember_az) AS [létszám] FROM ember;)
  • SUM() adatok összege
  • AVG() átlagszámítás
  • MIN() / MAX() legkisebb/legnagyobb elem
  • FROM táblakifejezés:
    Ha csak egy táblából listázunk, akkor a táblakifejezés megegyezik a tábla nevével: (pl. SELECT * FROM ember;)
    Ha több táblás lekérdezést készítünk, akkor a táblakifejezés a táblák neve mellett az összekapcsolódás módját is tartalmazza.

  • Szoros illesztés: Csak azok az egyedek jelennek meg, amelyeknek van kapcsolódásuk a másik táblában (oda-vissza érvényes).
  • Laza illesztés: Az egyik tábla minden egyede megjelenik, a másik táblából pedig csak azok az egyedek jelennek meg, amelyeknek van kapcsolódásuk az első táblában.

    WHERE szűkítési feltételek:

  • < kisebb
  • > nagyobb
  • <= kisebb egyenlő
  • >= nagyobb egyenlő
  • = egyenlő
  • != nem egyenlő
  • <> nem egyenlő
  • LIKE tartalmazás
  • NOT LIKE nem tartalmazás

  • Ha több feltételt is megadunk, akkor azokat az AND ill. az OR logikai művelettel kapcsolhatjuk össze. Ha vegyesen használjuk őket, akkor feltétlenül használjunk zárójeleket!
    SELECT * FROM ember WHERE (ember_az>5 AND ember_az<10) OR ember_az>7
    SELECT * FROM ember WHERE ember_az>5 AND (ember_az<10 OR ember_az>7)
    A fenti két példa mutatja, hogy eltérő eredmenyeket kaphatunk.

    ORDER BY sorbarendezési feltételek:
    Sorbarendezés lehet növekvő: ASC, nem kötelező kiírni (pl. SELECT * FROM ember ORDER BY szul_ido ASC;)
    vagy csökkenő: DESC (pl. SELECT * FROM ember ORDER BY szul_ido DESC;).
    Egyszerre több feltételt is megadhatunk vesszővel elválasztva: (pl. SELECT * FROM ember ORDER BY nev ASC, szul_ido DESC;)


    minta adatbázis táblái:

  • ember(ember_az,nev,szul_hely,szul_ido)
  • Megjegyzések:

  • ha egy táblanév, oszlopnév, vagy alias (AS) név tartalmaz ékezetet, szóközt, százalékjelet, vagy más speciális karaktert, tegyük szögletes zárójelbe, mert különben szintaktikai hibát jelezhet!