Invia.cz
Eurovíkendy
Kanárské ostrovy
Dominikánská republika
Madeira
Last minute
Vydělávejte peníze s INVIA.CZ
SQL příkaz SELECT vrací množinu záznamů z jedné a nebo více tabulek.
Obsah |
SELECT [ALL | DISTINCT] {[tabulka. | alias. | pohled.]{* | sloupec | sloupec AS alias} | AVG([tabulka. | alias. | pohled.]<sloupec>) [AS <alias>] | MIN([tabulka. | alias. | pohled.]<sloupec>) [AS <alias>] | MAX([tabulka. | alias. | pohled.]<sloupec>) [AS <alias>] | COUNT([tabulka. | alias. | pohled.]<* | sloupec>) [AS <alias>] }[,...n] [INTO jméno_nové_tabulky] FROM <tabulka> [AS <alias>][,... n] [[INNER | FULL] JOIN <tabulka> ON <spojovaci podminka> | <LEFT | RIGHT> OUTER JOIN <tabulka> ON <spojovaci podminka> | CROSS JOIN <sloupce> [AS <alias>] [,... n]] [WHERE <podmínky> | <sloupec> <operator> <sloupec | hodnota> | <sloupec> <operator> <sloupec | hodnota> <AND | OR | NOT> <sloupec> <operator> <sloupec | hodnota> | <sloupec> BETWEEN <hodnota> AND <hodnota> | <sloupec> LIKE <regularni vyraz> | <sloupec> IN <vycet hodnot> | <sloupec | vyraz> <operator> ANY | SOME (poddotaz) | EXISTS (poddotaz)] [GROUP BY <nazev sloupce>[,... n]] [HAVING <omezujici podminka postavena na vysledcich klauzule GROUP BY>] [ORDER BY <sloupec>[,... n] [ASC | DESC]] [UNION <SELECT dotaz>]
Míra implementace SQL dotazů se liší u každého SŘBD, proto je třeba mít při psaní konkrétních dotazů na zřeteli konkrétní SŘDB, na kterém bude dotaz prováděn. Bližší informace naleznete v referenčních manuálech.
SELECT id, zakaznik, cena FROM smlouvy WHERE cena>10000 AND se_slevou=1 ORDER BY cena DESC
DISTINCTKlíčové slovo DISTINCT (někdy používáno DISTINCTROW) z výpisu odstraní záznamy, které se v dané hodnotě pole opakují. Výsledkem pro daný sloupec bude seznam všech hodnot (vyhovující případné podmínce výpisu); každé zastoupené jen jednou. SELECT s DISTINCT vypisuje z logických důvodů většinou jen jedno pole.
Databázové stroje většinou umožňují pomocí nějakého klíčového slova v SQL omezit počet vybraných řádků na určitou hodnotu.
TOP, která se vkládá hned za SELECT…SELECT TOP 10 jmeno_skladby FROM zebricek_skladeb ORDER BY poslouchanost;
LIMIT, která kromě maximálního počtu zobrazených řádků umožňuje určit i od jakého místa (ofsetu) z výsledných řádků dotazu (pomyslného celkového výběru) má vracení výsledku začít. Například dotazSELECT jmeno_skladby FROM zebricek_skladeb ORDER BY poslouchanost LIMIT 5,10;
by zobrazil záznamy na 5. až 15. místě.
SQL_CALC_FOUND_ROWS (není součástí žádného SQL standardu), které se umisťuje za SELECT a způsobí, že databázový stroj si i přes omezení dané klíčovým slovem LIMIT ve výběrovém dotazu uloží celkový počet záznamů splňujících podmínku v klauzuli WHERE (pokud je zadaná) a ten pak může poslat jako výsledek dotazu:SELECT FOUND_ROWS()
Výhodou je, že pro zjištění celkového počtu řádků nemusí být spouštěn další dotaz.
| SQL | |
|---|---|
| Příkazy jazyka SQL: |
SELECT • INSERT • UPDATE • DELETE • CREATE • DROP • ALTER • SHOW • GRANT • REVOKE • START TRANSACTION • COMMIT • ROLLBACK • EXPLAIN • MERGE • TRUNCATE • LOAD DATA |
| Klíčová slova: |
JOIN • UNION • INTERSECT • GROUP BY • ORDER BY • LIMIT • HAVING • WITH ROLLUP |
| Ostatní pojmy: |
Systém řízení báze dat • Tabulka • Index • Poddotaz • Uložená procedura • Uživatelsky definovaná funkce • Transakce • Trigger • Pohled • Agregační funkce • Referenční integrita |