Návrhář dotazů
Návrh jednoduchého dotazu
Máme tabulku firem z tutoriálu a chceme vypsat setříděné názvy firem (příklad 2).
- Na Řídicím panelu vyberte Dotazy a proveďte příkaz Vytvořit - otevře se návrhář s prázdným návrhem
- Na liště vyberte tlačítko Přidat tabulku nebo z popup menu u FROM ve stromu proveďte Přidat tabulku - otevře se okno pro výběr tabulek a dotazů, v seznamu označte tabulku Firmy a stiskněte OK; tabulka se přidá ve stromu pod FROM a zároveň se přidá řádek s tabulkou do gridu pro FROM
- Přejděte ve stromu na větev SELECT a do gridu do sloupce Výraz přetáhněte sloupec Nazev z tabulky dole nebo jej napište z klávesnice.
- Přejděte do kořene celého návrhu a z popup menu vyberte příkaz Přidat ORDER BY - na konec stromu se vloží větev ORDER BY a v gridu vpravo je možné zapsat (nebo přetáhnout) jméno sloupce, podle něhož se má výsledek setřídit: opět Nazev.
- Návrh je hotov, je třeba jej zkontrolovat: z lišty nebo menu Návrh vyberte příkaz Kontrola syntaxe - otevře se okno s oznámením, že je vše OK nebo s popisem chyby.
- Dále je možné se podívat na výsledek dotazu: z lišty nebo z menu Návrh vyberte příkaz Testovací otevření - otevře se okno s gridem obsahující odpověď na tento dotaz.
- Je možné se podívat na textovou podobu dotazu: z lišty nebo z menu Návrh vyberte příkaz Přepínač SQL - návrhář - otevře se okno editoru a v něm je vidět textový zápis dotazu. Formát a rozlámání záleží na nastaveních zadaných v okně Vlastnosti návrháře dotazů. Provedete-li kontrolu syntaxe z editoru, výskyt případné chyby bude ukázán přímo v textu.
- Nakonec je rozumné dotaz uložit.
Návrh složitějšího dotazu
Máme tabulky firem a faktur z tutoriálu a chceme získat seznam odběratelů, průměrnou hodnotu jejich obratu, s vyloučením těch, kteří odebrali zboží pouze jednou (příklad 7).
- Na Řídicím panelu vyberte Dotazy a proveďte příkaz Vytvořit - otevře se návrhář s prázdným návrhem.
- Jako v předešlém případě vložte tabulky Firmy a Faktury.
- Ujistěte se, že v nastavení návrháře (menu Návrh / Vlastnosti návrháře) je zapnutá varianta Převádět INNER JOIN na WHERE, případně ji zvolte.
- Nyní provedeme propojení tabulek - uchopte myší sloupec s názvem Cislo z tabulky Firmy a přetáhněte jen nad sloupec Firma tabulky Faktury. Oba sloupce se spojí čárou a ve stromu návrhu vlevo přibude podmínka WHERE. Přejděte ve stromu na WHERE a tím se naplní grid zatím jedinou podmínku na rovnost dvou sloupců.
- Do dalšího řádku gridu připište další podmínku na status firmy např. takto: myší uchopte sloupec status a upusťte jej nad druhým řádkem ve sloupci Výraz. Poté výraz doplňte z klávesnice na status = 'O'. Pokud máte raději myš než klávesnici, můžete operátor i apostrofy doplnit z pomocného okna Lexikální elementy. Jako poslední vyberte spojku, která spojí obě dosavadní podmínky - v našem případě AND.
- Vytvoření skupin: přejděte zpět do stromu návrhu na Dotaz1 a z popup menu vyberte příkaz Přidat GROUP BY. Do gridu přetáhněte (nebo napište) jméno sloupce, podle něhož se bude grupovat - nazev z tabulky Firmy.
- Vytvoření podmínky na skupiny: přejděte zpět do stromu návrhu na Dotaz1 a z popup menu vyberte příkaz Přidat HAVING. Do gridu napište (nebo si pomožte oknem Lexikální elementy) výraz, který omezí skupiny: COUNT(*)>1
- Doplníme seznam sloupců do SELECT: přejděte ve stromu na SELECT a do gridu vpravo zapište (přetáhněte) výrazy, které budou tvořit sloupce dotazu. Každý výraz (sloupec) bude v jednom řádku gridu. Postupně zadejte nazev, AVG(Faktury.castka) a COUNT(*).
Návrh složitého dotazu
Vyberte nejvyšší fakturu každého typu (příklad 21 z tutoriálu).
-