602SQL-Úplná dokumentace Index  

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).

  1. Na Řídicím panelu vyberte Dotazy a proveďte příkaz Vytvořit - otevře se návrhář s prázdným návrhem
  2. 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
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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).

  1. Na Řídicím panelu vyberte Dotazy a proveďte příkaz Vytvořit - otevře se návrhář s prázdným návrhem.
  2. Jako v předešlém případě vložte tabulky Firmy a Faktury.
  3. 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.
  4. 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ů.
  5. 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.
  6. 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.
  7. 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
  8. 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).