MS Access – Dotazy: Přehled řešení

Návrh dotazu (QBE mřížka) + SQL kód pro každý dotaz

📥 Databázové soubory ke stažení: ⬇ zamestnanci.accdb Lekce 5–15 ⬇ zaci.accdb Lekce 5B ⬇ dodavatele.accdb Lekce 15B
Lekce 5

Základní výběrové dotazy – tabulka Zaměstnanci


Zaměstnanci na V

SELECT

Výběr zaměstnanců s číslem > 7 a jménem začínajícím na „V".

Zaměstnanci podle příjmení

SELECT

Výpis čísla, jména a příjmení, seřazený abecedně podle příjmení.

Lekce 5B

Výběrový dotaz – tabulka Žáci


Žáci_výška Dotaz

SELECT

Výpis třídy, příjmení, jména a výšky žáků, seřazený vzestupně podle výšky.

Lekce 6

Řazení a filtrování podle data


Dotaz1

SELECT

Příjmení a jméno všech zaměstnanců seřazených abecedně (nejprve příjmení, pak jméno).

Dotaz2

SELECT

Zaměstnanci narozeni v dubnu (04) – filtr Like "*.04.*", seřazeni abecedně.

Lekce 7

Agregační funkce, GROUP BY, podmínky


úkol7b

SELECT

Celkový počet zaměstnanců – funkce Count.

úkol7d

SELECT

Počet zaměstnanců vlastnících alespoň jednu akcii (početakcií <> 0).

úkol7e

SELECT

Celkový součet akcií všech zaměstnanců – funkce Sum.

úkol7f

SELECT

Počet zaměstnanců podle titulu – GROUP BY Titul.

úkol7g

SELECT

Zaměstnanci narozeni v dubnu (04) nebo v lednu (01) – podmínky Or.

úkol7h

SELECT

Zaměstnanci s vyplněným titulem – Titul <> "".

úkol7i

SELECT

Počet zaměstnanců s titulem JuDr. a více než 10 akciemi – podmínky spojené AND.

úkol7j

SELECT

Zaměstnanci jménem Jiří nebo narozeni v měsíci 4 – OR přes dvě různá pole.

úkol7k

SELECT

Zaměstnanci s počtem akcií 5 až 10 včetně – >= 5 And <= 10.

úkol7L

SELECT

Počet zaměstnanců s titulem obsahujícím „Csc" a nenulovým počtem akcií – filtr skupin pomocí HAVING.

Lekce 8

Výpočtová pole – funkce a aritmetika


úkol8b

SELECT

Jméno a rok narození vypočtený funkcí Year().

úkol8c

SELECT

Příjmení, jméno a hodnota akcií – každá akcie = 500 Kč ([početakcií]*500).

Lekce 9

Parametrický dotaz – BETWEEN


úkol9b

SELECT

Zaměstnanci s počtem akcií v rozsahu zadaném uživatelem – parametry [nejmene] a [nejvice].

Lekce 10

Křížové dotazy – TRANSFORM / PIVOT


křížový dotaz_b

CROSS-TAB

Počet zaměstnanců podle titulu (řádky) a počtu akcií (sloupce).

křížový dotaz_c

CROSS-TAB

Datum narození (řádky) vs. počet akcií (sloupce) – jen zaměstnanci s alespoň 1 akcií.

křížový dotaz_d

CROSS-TAB

Datum narození vs. počet akcií – jen zaměstnanci s příjmením začínajícím na „M".

Lekce 11

Aktualizační dotazy – UPDATE


Aktualizační_Dotaz_b

UPDATE

Změna počtu akcií ze 3 na 4.

Aktualizační_Dotaz_c

UPDATE

Přidání 2 akcií zaměstnancům s titulem Mgr.

Lekce 12

Vytvářecí dotaz – SELECT INTO


Vytvářecí dotaz

MAKE-TABLE

Zaměstnanci s titulem JuDr. uloženi do nové tabulky právníci.

Lekce 13

Odstraňovací dotaz – DELETE


úkol_odstraňovací_dotaz

DELETE

Smazání záznamu z tabulky právníci s titulem JuDr.

Lekce 14

Agregace nad platem – zamměstnanci_plat


úkol1b

SELECT

Průměrný plat všech zaměstnanců za rok 1999 – funkce Avg.

úkol1c

SELECT

Počet zaměstnanců v každém oddělení – GROUP BY Oddělení.

úkol1d

SELECT

Průměrný plat podle funkce – GROUP BY Funkce.

Lekce 15

Agregace nad platem – opakování lekce 14


úkol1b

SELECT

Průměrný plat za rok 1999 (stejný dotaz jako v lekci 14).

úkol1c

SELECT

Počet zaměstnanců v každém oddělení (stejný dotaz jako v lekci 14).

úkol1d

SELECT

Průměrný plat podle funkce (stejný dotaz jako v lekci 14).

Lekce 15B

Propojení tabulek – INNER JOIN


ukol1-b

SELECT

Propojení tabulek Dodavatelé a sklad – výrobky s cenou < 5 000 Kč.

ukol1-c

SELECT

Výrobky se zásobou nižší než minimální úroveň – propojení přes JOIN.