Popis relačního schématu databáze je následující:
Entitní typy
Vztahové typy (vyjadřují vztah mezi jednotlivými entitami)
Poznámka:
Veškeré výsledky uložte jako View příkazem CREATE VIEW „UCO“.jmeno_view AS příkaz_SQL
Jednotlivé aliasy se definují v sekci FROM dotazu SELECT, kde se za jméno tabulky dá mezera a poté alias. Ten je jednoslovný (nebo musíte využít _) a musí být v rámci dotazu unikátní. V ostatních sekcích příkazu SELECT (tedy např. v sekcích SELECT, WHERE, ORDER, CONSTRAINT apod.) se pak můžete na jednotlivé tabulky dotazovat pomocí aliasů. Více už v jednotlivých příkladech.
Obecná syntaxe:
SELECT fotky_fotky.fotky_nazev,
fotky_akce.akce_nazev
FROM "67579".fotky_fotky,
"67579".fotky_autori,
"67579".fotky_akce
WHERE fotky_autori.autori_jmeno = 'Jan Fotograf' AND
fotky_fotky.fotky_autori = fotky_autori.autori_id AND
fotky_akce.akce_id = fotky_fotky.fotky_z_akce;
a s použitím alias názvů..
SELECT a.fotky_nazev,
c.akce_nazev
FROM "67579".fotky_fotky a,
"67579".fotky_autori b,
"67579".fotky_akce c
WHERE b.autori_jmeno = 'Jan Fotograf' AND
a.fotky_autori = b.autori_id AND
c.akce_id = a.fotky_z_akce;
V rámci příkazů SELECT se dá pracovat s tzv. vnořenými dotazy. Jedná se o dotaz SELECT v části WHERE jiného příkazu SELECT.
Při práci s vnořenými dotazy se používají operátory IN,ANY,ALL (případně i zápor NOT IN)
IN - slouží pro jednoduché porovnání, zda-li se hodnota sloupce v jedné části podmínky vyskytuje mezi hodnotami vrácenými vnořeným dotazem.
Obecná syntaxe:
SELECT sloupec1..
FROM tabulka1,tabulka2..
WHERE sloupec2 IN (SELECT sloupec2
FROM tabulka1..
WHERE podminka..)
ANY|SOME - určují, že relace se vztahuje na alespoň jednu z hodnot, kterou vrátí vnořený dotaz
ALL - určuje, že relace se vztahuje na všechny hodnoty, které vrátí vnořený dotaz
Obecná syntaxe:
SELECT sloupec1..
FROM tabulka1,tabulka2..
WHERE sloupec2 >|<|<> ANY|ALL(SELECT sloupec2
FROM tabulka1..
WHERE podminka..)