SQL – PŘÍKAZY
Transkript
Databázové Systémy I Databázové Systémy I SQL – PŘÍKAZY Příklad: Vytvořte index pro tabulku ČTENÁŘ podle sloupce ADRESA, v případě stejných adres dalším kritériem bude sloupe JMENO. CREATE INDEX adrčten ON čtenář(adresa,jméno); Definice tabulky: CREATE TABLE čtenář (č_čt char(4) NOT NULL, jméno varchar(30), adresa varchar(50)); Příklad: Zrušení indexu ADRČTEN lze zajistit takto: DROP INDEX adrčten; Rušení záznamů: Modifikování struktury tabulky: Příklad: Modifikujte atributu DAT_NAR strukturu vytvořené relace ČTENÁŘ přidáním nového Příklad: DELETE FROM exemplář WHERE země_vyd=´SSSR´; ALTER TABLE čtenář ADD dat_nar DATE; Příklad: Přejmenujte sloupce JMENO na PRIJMENI. ALTER TABLE čtenář ADD (příjmení VARCHAR(30)); UPDATE čtenář SET příjmení=jméno; ALTER TABLE čtenář DROP (jméno); Opravy dat: Příklad: Příklad: Naplňte minimálně dva záznamy tabulky ČTENÁŘ: Příklad: INSERT INTO čtenář VALUES (´A100´,´Karel Novák´,´Praha1´); INSERT INTO čtenář VALUES (´A123´,´Jiří Klouček´,´Praha1´); Pokud chceme přidávat řádky z již existující tabulky do tabulky právě naplňované, lze toho docílit následujícím příkazem (přidáváme záznamy z tabulky čtenář_old do tabulky čtenář pouza za předpokladu, že jde o čtenáře z Prahy 1, přičemž obě tabulky mají samozřejmě shodnou strukturu: Zlevněte ceny všech knih v tabulce EXEMPLÁŘ dražších 300 Kč na poloviční hodnotu. UPDATE exemplář SET cena=cena/2 WHERE cena>300; Rušení relace: Příklad: INSERT INTO čtenář SELECT * FROM čtenář_old WHERE adresa=´Praha1´; Zrušte tabulku REZERV, protože rezervace knih se již v knihovně nebudou provádět. DROP TABLE rezerv; Příkazy pro manipulaci s daty (možnosti příkazu SELECT): Indexy: Příklad: Přepište hodnotu v atributu CENA hodnotou 300 v záznamu o exempláři s ISBN rovným hodnotě 80-213 UPDATE exemplář SET cena=300 WHERE isbn=´80-213´; Vkládání dat do vytvořené tabulky: Příklad: Zrušte všechny záznamy v tabulce EXEMPLÁŘ o knihách vydaných v SSSR. Vytvořte jednoznačný index pro tabulku ČTENÁŘ podle sloupce Č_ČT se sestupným uspořádáním. CREATE UNIQUE INDEX ččten ON čtenář(č_čt DESC); Strana č. 1 Příklad: Vypište sloupce Č_ČT a JMÉNO z tabulky ČTENÁŘ. SELECT č_čt, jméno FROM čtenář; Strana č. 2 Databázové Systémy I Výběrové podmínky v příkazu SELECT: Databázové Systémy I Příklad: Vypište všechny sloupce z tabulky ČTENÁŘ (seznam sloupců lze zkrátit zadáním hvězdičky). Příklad: Vypište všechny čtenáře, kteří bydlí v Praze 1 nebo v Praze 9. SELECT * FROM čtenář; Příklad: SELECT * FROM čtenář WHERE adresa =´PRAHA 1´OR adresa =´PRAHA 9´; Vyberte záznamy o čtenářích, kteří bydlí v Praze 1. Příklad: Vypište všechny čtenáře, kteří nebydlí v Praze 1 nebo v Praze 3. SELECT * FROM čtenář WHERE adresa =´Praha 1´; Příklad: SELECT * FROM čtenář WHERE adresa !=´PRAHA 1´OR adresa!=´PRAHA 3´; Použití příkazu DISTINCT (lze ním odstranit duplicitní řádky ve výběru). Práce se skupinami příkazů: SELECT DISTINCT č_čt FROM výpujčka; Příklad: Modifikovaný text v záhlaví vybraných sloupců: SELECT COUNT(*) FROM exemplář WHERE cena<1000; Příklad: SELECT č_čt AS ´Číslo čtenáře´, jméno AS ´Příjmení čtenáře´, adresa AS ´Bydliště´ FROM čtenář; Příklad: Výpis modifikovaných (agregovaných) údajů: Pokud bychom v souvislosti s grafickým výstupem požadovali jeho doplnění o vhodně zvolený textový řetězec (např. POČET EXEMPLÁŘŮ), stačí předchozí příkaz modifikovat následujícím způsobem: SELECT ´POČET EXEMPLÁŘŮ´=,COUNT(*) FROM exemplář WHERE cena<1000; Příklad: SELECT isbn, d_nákup AS ´datum nákupu´, cena*0,5 AS ´snížená cena´ FROM exemplář; sloupec snížená cena bude obsahovat původní cenu sníženou na poloviční hodnotu pomocí výrazu cena*0,50 Zjistěte počet exemplářů z tabulky EXEMPLÁŘ, které s cenou nižší než 1000 Kč. Příklad: Zjistěte celkový počet čtenářů, kteří mají rezervovanou nějakou knihu. SELECT COUNT(DISTINCT č-čt) FROM rezerv; Práce s více tabulkami: Příklad: Vypište čtenáře včetně údajů o jejich výpůjčkách: Příklad: SELECT výpůjčka.č_čt AS ´Číslo čtenáře´,jméno AS ´Jméno čtenáře´, inv_č AS ´Inventární číslo´, d_zpět AS ´Datum vrácení´ FROM čtenář, výpujčka WHERE výpujčka.č_čt=čtenář.č_čt; Vypište z tabulky EXEMPLÁŘ největší, nejmenší a průměrnou cenu. SELECT MAX(cena), MIN(cena), AVG(cena) FROM exemplář; Predikáty ve výběrové podmínce: Příklad: Zjisti počet exemplářů s cenou mezi 500 a 800 Kč (včetně): SELECT COUNT(*) FROM exemplář WHERE cena BEETWEN 500 AND 800; Strana č. 3 Strana č. 4 Databázové Systémy I Databázové Systémy I Příklad: Příklad: Vypište informace z tabulky ČTENÁŘ o čtenářích s jmény zadanými výčtem: SELECT COUNT(*) FROM čtenář WHERE jméno Kalaš´); Příklad: IN (´Karel Novák´,´Jiří Vypište informace o tom, kdo a co vrátil dne 8.6.1990: SELECT čtenář.č_čt,čtenář.jméno,výpujčka.inv_č,výpujčka.d_zpět FROM čtenář, výpujčka WHERE výpujčka.č_čt = čtenář.č_čt AND výpujčka.d_zpět=´08.06.90´; Klouček´,´Karel Vypište všechny čtenáře s jménem začínajícím znakem ´K´: Poddotazy: SELECT COUNT(*) FROM čtenář WHERE jméno LIKE ´K%´; Příklad: Zjistěte, kdo si půjčil knihu s inventárním číslem 56 SELECT č_čt FROM výpujčka WHERE inv_č=´56´; Třídění výstupu: Příklad: SELECT jméno FROM čtenář WHERE č_čt=( SELECT č_čt FROM výpujčka WHERE inv_č=´56´); Vypište relaci EXEMPLÁŘ uspořádanou vzestupně podle ceny, exempláře se stejnou cenou vypisujte v pořadí podle inventárního čísla (sestupně): SELECT * FROM exemplář ORDER BY ceny,inv_c DESC; Pohledy: Skupiny řádků: Příklad: Příklad: Příklad: Vypište z tabulky EXEMPLÁŘ pro dané ISBN celkovou cenu: Vytvořte pohled Seznam, který vybírá z tabulky ČTENÁŘ sloupce Č_ČT a JMÉNO: SELECT isbn, SUM(cena) FROM exemplář GROUP BY isbn; CREATE VIEW Seznam AS SELECT č_čt,jméno FROM čtenář; Vypište přehled počtu exemplářů se stejným ISBN za podmínky, že jich je více jak jeden: SELECT isbn, COUNT(*) FROM exemplář GROUP BY isbn HAVING COUNT(*)>1; Příklad: Vytvořte pohled Knihylevn, který vybírá z tabulky EXEMPLÁŘ knihy levnější než 800 Kč. Sloupce pohledu budou přejmenovány: CREATE VIEW Knihylevn (Cisknihy,Cenaknihy,Zeměvyd) AS SELECT inv_č,cena,země_vyd FROM exemplář WHERE cena<800; Spojení (join): Příklad: Vypište informace o rezervacích knih s údaji o dotyčných čtenářích: SELECT čtenář.č_čt,čtenář.jméno,výpujčka.inv_č,výpujčka.d_zpět FROM čtenář, výpujčka WHERE výpujčka.č_čt=čtenář.č_čt; Strana č. 5 Strana č. 6
Podobné dokumenty
Jak vybrat správnou realitní kancelář
opravdu o výkup nemovitosti, makléř vám nabídne podstatně nižší částku, než
jakou byste získali při standardním prodeji. Jestli na prodej spěcháte, ale nehrozí
vám např. exekuce, zlevněte nemovitos...
zde - Anopress
Operátory a modifikátory ..............................................................................................................23
Operátor all .................................................
Zobrazit ceník půjčovny lyží a snb
VIP sjezdové lyže - SPORTOVNÍ modely zn. Dynastar a Lusti (Omeglass, Skicross, Omecarve, SX, Speed, Groove)
samostatně
Pokyny pro předávání publikací z dílčích knihoven do ÚK
elektronické verze by mělo korespondovat s fyzickým předáváním.
Tištěnou verzi předávacích seznamů ve 3 vyhotoveních s podpisem odpovědného pracovníka
ústavu/katedry předejte prosím do ÚK, 1 kopie ...
2.5. Maticové řešení soustav lineárních rovnic
v maticovém tvaru Ax = b , kde tzv. matice soustavy A je matice
koeficientů u jednotlivých neznámých, sloupcová matice x je vektor
(sloupec) neznámých a b je vektor (sloupec) pravých stran. Zavádí ...
Seznam knih naleznete zde.
Rozvoj
morálního
vědomí
žáků
Rozvíjíme
l ogické
myšlení
Anatomie
a
fyziologie
č lověka
pro
humanitní
obory
Od
začátku
do
konce
Možná,
možná
ne
Muž,
...