SQL – PŘÍKAZY

Transkript

SQL – PŘÍKAZY
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ář

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

Více

zde - Anopress

zde - Anopress Operátory a modifikátory ..............................................................................................................23 Operátor all .................................................

Více

Zobrazit ceník půjčovny lyží a snb

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ě

Více

Pokyny pro předávání publikací z dílčích knihoven do ÚK

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

Více

2.5. Maticové řešení soustav lineárních rovnic

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

Více

Seznam knih naleznete zde.

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ž, ...

Více