Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1

Podobné prezentace


Prezentace na téma: "Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1"— Transkript prezentace:

1 Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1
Ing. Monika Borkovcová, Ph.D.

2 Databázové systémy 1 - př. 5
Obsah Příkaz SELECT Pohledy Vnitřní, vnější spojování tabulek Operátory, výrazy, podmínky Databázové systémy 1 - př. 5

3 Databázové systémy 1 - př. 5
Příkaz SELECT Příkaz SELECT slouží k získávání dat z databáze. SELECT <nazev sloupce(sloupcu)> FROM <nazev tabulky>; Zobrazený příklad, který je ten nejjednodušší, musí obsahovat: Klauzuli SELECT, kde specifikujeme co chceme získat Klazuli FROM, kde specifikujeme odkud to chceme získat Databázové systémy 1 - př. 5

4 Databázové systémy 1 - př. 5
Příkaz SELECT Projekce – nám říká, které sloupce budeme zobrazovat Restrikce (selekce) – nám říká, které řádky budeme zobrazovat Databázové systémy 1 - př. 5

5 Databázové systémy 1 - př. 5
Příkaz SELECT Databázové systémy 1 - př. 5

6 Databázové systémy 1 - př. 5
Příkaz SELECT Výběr dat ze všech sloupců tabulky provedeme použitím zástupného znaku * na pozici názvu sloupce za klauzulí SELECT SELECT * FROM a_hr.zamestnanci; Databázové systémy 1 - př. 5

7 Databázové systémy 1 - př. 5
Příkaz SELECT Výběr dat ze všech sloupců tabulky může provézt také explicitním vyjmenováním všech sloupců SELECT zeme_id, zeme_nazev, region_id FROM a_hr.zeme; Databázové systémy 1 - př. 5

8 Databázové systémy 1 - př. 5
Příkaz SELECT Omezení výběru dat pouze z některých sloupců provedeme výčtem požadovaných sloupců SELECT jmeno, prijmeni, FROM a_hr.zamestnanci; Databázové systémy 1 - př. 5

9 Databázové systémy 1 - př. 5
Příkaz SELECT V příkazu SELECT můžeme používat přímo aritmetické operátory. Například můžeme zobrazit rovnou platy zaměstnanců navýšené o 5%. SELECT jmeno, prijmeni, mzda*1.05 FROM a_hr.zamestnanci; Databázové systémy 1 - př. 5

10 Databázové systémy 1 - př. 5
Příkaz SELECT V příkazu SELECT můžeme používat přímo aritmetické operátory. Například můžeme zobrazit rovnou platy zaměstnanců navýšené o 5%. SELECT jmeno, prijmeni, mzda*1.05 FROM a_hr.zamestnanci; Databázové systémy 1 - př. 5

11 Příkaz SELECT Alias – umožňuje přejmenování sloupce ve výstupu, případně pod-dotazu nebo tabulky SELECT * | sloupec | výraz [ AS alias], … FROM tabulka; SELECT jmeno, prijmeni, mzda*1.05 AS „novy_plat“ FROM a_hr.zamestnanci; Databázové systémy 1 - př. 5

12 Databázové systémy 1 - př. 5
WHERE Klauzule WHERE – provádí v dotazu restrikci Rozšiřuje syntaxi příkazu SELECT na: SELECT <sloupce> FROM <tabulka> [WHERE podmínka(y)] Také se používá u příkazů INSERT, UPDATE a DELETE Databázové systémy 1 - př. 5

13 Databázové systémy 1 - př. 5
WHERE Použití klauzule WHERE nám umožňuje definovat, které řádky se do výsledku zařadí. SELECT jmeno, prijmeni, FROM a_hr.zamestnanci; (vrátí jména, příjmení a y všech zaměstnanců) SELECT jmeno, prijmeni, FROM a_hr.zamestnanci WHERE zamestnanec_id=22; (vrátí jméno, příjmení a pracovníka s id 22) Databázové systémy 1 - př. 5

14 Databázové systémy 1 - př. 5
WHERE Povolené operace v klauzuli WHERE = rovno > větší než >= větší nebo rovno < menší než <= menší nebo rovno <>(!=, ^=) nerovno Databázové systémy 1 - př. 5

15 Databázové systémy 1 - př. 5
WHERE Povolené operace v klauzuli WHERE = rovno > větší než >= větší nebo rovno < menší než <= menší nebo rovno <>(!=, ^=) nerovno Databázové systémy 1 - př. 5

16 Databázové systémy 1 - př. 5
WHERE Povolené operace v klauzuli WHERE BETWEEN … AND rozmezí hodnot IN (NOT IN) výčet hodnot ALL všechny hodnoty ANY některá hodnota LIKE (NOT LIKE) jako EXISTS (NOT EXISTS) existuje IS NULL (IS NOT NULL) je/není NULL Databázové systémy 1 - př. 5

17 Syntaxe příkazu SELECT
SELECT <seznam výstupních sloupců> FROM <seznam tabulek> [WHERE <podmínka řádku>] [GROUP BY <seznam výrazů seskupení>] [HAVING <podmínka skupiny>] [{UNION|UNION ALL|INTERSECT|MINUS} <příkaz SELECT>] [ORDER BY <seznam kritérií třídění>] Databázové systémy 1 - př. 5

18 Syntaxe příkazu SELECT
<seznam výstupních sloupců> =[ALL|DISTINCT|DISTINCTROW] { * | <specifikace sloupce1> [, <specifikace sloupce2> [, …]] } <specifikace sloupce> = { <název sloupce> | < specifikace tabulky > . <název sloupce> | < specifikace tabulky > . * | výraz} [[AS] <pojmenování sloupce> ] < specifikace tabulky > = { <název tabulky> | <pojmenování tabulky> | <název pohledu> } [<pojmenování tabulky>] Databázové systémy 1 - př. 5

19 Syntaxe příkazu SELECT
DISTINCT - ve výsledku nebudou duplicitní řádky, které mají stejné hodnoty ve vypisovaných sloupcích DISTINCTROW - ve výsledku nebudou duplicitní řádky, které mají stejné hodnoty ve všech sloupcích bez ohledu na to, zda jsou vypisovány ALL – ve výsledku budou všechny řádky bez ohledu na duplicity, defaultní nastavení Databázové systémy 1 - př. 5

20 Databázové systémy 1 - př. 5
SELECT - příklady Příklad: SELECT * FROM dodavatele WHERE mesto = 'Praha 4'; SELECT dodavatel_id, nazev, zastoupeni WHERE dodavatel_id > 4; Databázové systémy 1 - př. 5

21 Databázové systémy 1 - př. 5
Pohledy Pohled je předpis pro získání podmnožiny dat z jedné či více tabulek. Pohled obsahuje JEN předpis, NIKOLI data. S pohledy se pracuje obdobně jako s vlastními tabulkami. Určitá omezení souvisí například se změnou dat. Jednoduché pohledy - vytvořeny z dat jediné tabulky, - neobsahují žádné funkce ani skupiny, - můžeme v nich provádět i změny (nezakážeme-li to) Komplexní pohledy - jsou vytvořeny z dat více databázových tabulek, - mohou obsahovat funkce nebo skupiny, - změnu dat umožňují jen ve velmi omezených případech Databázové systémy 1 - př. 5

22 Databázové systémy 1 - př. 5
Pohledy - syntaxe Vytvoření pohledu: CREATE [OR REPLACE] VIEW název_pohledu [alias] AS dotaz [seznam_omezení]; Příklady omezení: WITH READ ONLY – nelze vkládat, mazat ani měnit záznamy, WITH CHECK OPTION – upravované či vkládané záznamy musí vyhovovat podmínce uvedené v klausuli WHERE uvedeného dotazu. Odstranění pohledu: DROP VIEW název_pohledu; Databázové systémy 1 - př. 5

23 Databázové systémy 1 - př. 5
Pohledy – příklady 1 A_OBCHOD SCHÉMA tabulka PRACOVNICI CREATE VIEW Pracovnici_pobocky AS SELECT Jmeno, Funkce, Pobocka FROM Pracovnici WITH READ ONLY; Použití: SELECT * FROM Pracovnici_pobocky; SELECT Jmeno, Pobocka FROM Pracovnici_pobocky WHERE Pobocka='3'; Databázové systémy 1 - př. 5

24 Databázové systémy 1 - př. 5
Pohledy – příklady 2 A_OBCHOD SCHÉMA CREATE VIEW Prumer_mzda AS SELECT Funkce, AVG(Mzda) AS Prumer FROM Pracovnici GROUP BY Funkce; SELECT Prumer FROM Prumer_mzda WHERE Funkce LIKE 'obchodník'; SELECT Jmeno, Pracovnici.Funkce, Mzda - Prumer_mzda.prumer AS Rozdil FROM Pracovnici JOIN Prumer_mzda ON Pracovnici.Funkce = Prumer_mzda.Funkce; Databázové systémy 1 - př. 5

25 Databázové systémy 1 - př. 5
Pohledy – příklady 3 A_OBCHOD SCHÉMA CREATE VIEW Pohled_Max_mzda AS SELECT Max(Mzda) AS Max_mzda FROM Pracovnici WHERE Funkce NOT LIKE 'ředitel'; SELECT Max_mzda FROM Pohled_Max_mzda; Databázové systémy 1 - př. 5

26 Databázové systémy 1 - př. 5
Pohledy – příklady 4 CREATE VIEW Pracovnici_pobocky AS SELECT Jmeno, Funkce, Pobocka FROM Pracovnici; INSERT INTO Pracovnici_pobocky (Jmeno, Funkce, Pobocka) VALUES ('Daniel Kohout', 'vrátný', 'C'); UPDATE Pracovnici_pobocky SET Pobocka='9' WHERE Pobocka='C'; DELETE FROM Pracovnici_pobocky WHERE Pobocka='9'; Databázové systémy 1 - př. 5

27 Databázové systémy 1 - př. 5
Pohledy – příklady CREATE VIEW Pracovnici_centraly AS SELECT Jmeno, Funkce, Pobocka FROM Pracovnici WHERE Pobocka='C' WITH CHECK OPTION; INSERT INTO Pracovnici_centraly(Jmeno, Funkce, Pobocka) VALUES ('Daniel Kohout', 'vrátný', 'C'); VALUES ('Pavel Kohout', 'vrátný', '1'); UPDATE Pracovnici_centraly SET Pobocka='9' WHERE Pobocka='C'; UPDATE Pracovnici_centraly SET Pobocka='C' WHERE Pobocka='9'; DELETE FROM Pracovnici_centraly WHERE Pobocka='9'; DELETE FROM Pracovnici_centraly WHERE Pobocka='C'; Nelze – omezení WITH CHECK OPTION Nemá smysl – ve výsledku pohledu nejsou pracovnici s jinou pobočkou, než 'C'; Databázové systémy 1 - př. 5

28 Databázové systémy 1 - př. 5
Pohledy - význam Zjednodušení konstrukce náročných dotazů, Opakované využití vytvořeného pohledu na standardní použití (minimalizace chyb, zrychlení práce, případné změny ovlivní například jen pohled), Bezpečnost – mohu definovat odlišná práva pro přístup k tabulce a pohledům (například omezení přístupu k citlivým informacím). Databázové systémy 1 - př. 5

29 Databázové systémy 1 - př. 5
Druhy spojení Spojení (join): spojení založené na libovolném typu vztahu mezi hodnotami propojovacích položek Ekvivalentní spojení (equi-join): spojení založené na shodě hodnot v propojovacích položkách Spojení nerovností (non-equi-join): spojení založené na nerovnosti hodnot v propojovacích položkách Databázové systémy 1 - př. 5

30 Databázové systémy 1 - př. 5
Druhy spojení Vnitřní spojení (inner join, exkluzivní spojení): spojení, v němž jsou záznamy ze dvou tabulek kombinovány a přidávány k výsledkům dotazu pouze tehdy, když k záznamům z první tabulky existují odpovídající záznamy v tabulce druhé Vnější spojení (outer join, inkluzivní spojení): spojení, kdy je každý odpovídající záznam ze dvou tabulek kombinován do jednoho záznamu ve výsledku dotazu. Není-li k záznamu z tabulky, která poskytuje všechny své záznamy, nalezen odpovídající záznam ve druhé tabulce, je přesto zahrnut do výsledků dotazu s prázdnými poli v místech, kde nebyl nalezen odpovídající záznam ve druhé tabulce. Databázové systémy 1 - př. 5

31 Databázové systémy 1 - př. 5
Druhy spojení Samospojení (self–join, recursive join): spojení, v němž jsou záznamy z tabulky kombinovány s jinými záznamy z téže tabulky Kartézský součin (cartesian product-join): Spojení bez podmínek. Záznamy z tabulek jsou kombinovány stylem každý s každým. Výsledná množina obsahuje MxN záznamů. Varianta kartézského součinu od Oracle je cross-join. Přirozené spojení (natural-join): Spojení, kde si systém sám najde nejvhodnější sloupce, přes které bude spojovat Databázové systémy 1 - př. 5

32 Spojení tabulek – syntaxe SELECT
Základní syntaxe pro vnitřní spojení <seznam tabulek> = < specifikace tabulky1> JOIN < specifikace tabulky2> ON < podmínky spojení> [ JOIN < specifikace tabulky3> ON < podmínky spojení> [, … ] ] Příklad SELECT dodavatele.nazev, produkty.oznaceni FROM dodavatele JOIN produkty ON dodavatele.dodavatel_id = produkty.dodavatel_id; Databázové systémy 1 - př. 5

33 Spojení tabulek – syntaxe SELECT
Vnitřní spojení – varianta 2. <seznam tabulek> =[ < specifikace tabulky1> [, <specifikace tabulky2> [, …]] } Sloupce, přes které se realizuje spojení se uvádějí v podmínce za klíčovým slovem WHERE <podmínky spojení> . Příklad SELECT dodavatele.nazev, produkty.oznaceni FROM dodavatele, produkty WHERE dodavatele.dodavatel_id = produkty.dodavatel_id; Databázové systémy 1 - př. 5

34 Spojení tabulek – syntaxe SELECT
Vnitřní spojení INNER INNER JOIN, JOIN Do výsledku budou zahrnuty pouze ty řádky, pro které byla nalezena odpovídající hodnota v druhé tabulce. Vnější spojení OUTER Ve výsledku budou i ty řádky, pro které nebyly nalezeny odpovídající hodnoty v druhé tabulce. Pravé (RIGHT JOIN, RIGHT OUTER JOIN) .. Ve výsledku budou všechny řádky z pravé (druhé tabulky). Nebyl-li nalezen aspoň jeden odpovídající řádek v levé tabulce, budou ve výsledku hodnoty NULL ve všech sloupcích z první tabulky. Levé (LEFT JOIN, LEFT OUTER JOIN) .. Ve výsledku budou všechny řádky z levé (první tabulky). Nebyl-li nalezen aspoň jeden odpovídající řádek v pravé tabulce, budou ve výsledku hodnoty NULL ve všech sloupcích z druhé tabulky. Úplné (FULL JOIN) .. Ve výsledku budou všechny řádky z levé i pravé (první i druhé tabulky). Databázové systémy 1 - př. 5

35 Spojení tabulek – syntaxe SELECT
Vnější spojení – syntaxe podle Oracle Nepoužívá se klíčové slovo JOIN, spojení probíhá přes klazuli WHERE Tabulky, které NEBUDOU obsaženy ve výsledku celé, jsou v podmínkách označeny jako symbolem (+) Příklad SELECT * FROM a_hr.zamestnanci, a_hr.oddeleni WHERE zamestnanci.oddeleni_id=oddeleni.oddeleni_id(+); -- odpovídá dotazu SELECT * FROM a_hr.zamestnanci LEFT JOIN a_hr.oddeleni ON zamestnanci.oddeleni_id=oddeleni.oddeleni_id; Databázové systémy 1 - př. 5

36 Spojení tabulek – syntaxe SELECT
Obecný zápis syntaxe pro různé druhy spojení <seznam tabulek> = < specifikace tabulky1> [ { INNER | { LEFT | RIGHT | FULL } [OUTER] }] JOIN < specifikace tabulky2> ON < podmínky spojení> [ { INNER | { LEFT | RIGHT | FULL } [OUTER] }] JOIN < specifikace tabulky3> ON < podmínky spojení> [, … ] ] ] Příklad SELECT dodavatele.nazev, produkty.oznaceni FROM dodavatele JOIN produkty ON dodavatele.dodavatel_id = produkty.dodavatel_id; Databázové systémy 1 - př. 5

37 Spojení tabulek – syntaxe SELECT
Kartézský součin SELECT dodavatele.nazev, produkty.oznaceni FROM dodavatele, produkty Oracle Cross Join SELECT dodavatele.nazev, produkty.oznaceni FROM dodavatele CROSS JOIN produkty Databázové systémy 1 - př. 5

38 Databázové systémy 1 - př. 5
Spojení tabulek A_OBCHOD SCHÉMA Příklad: SQL> DESC Produkty Name Null? Type Produkt_ID NOT NULL NUMBER(8) Oznaceni NOT NULL VARCHAR(30) Dodavatel_ID NUMBER(4) SQL> SELECT * FROM Produkty; PRODUKT_ID DODAVATEL_ID OZNACENI 6 2 A600N 7 A2500H 8 A8JN-4P019M 9 3 Lifebook S2110 17 null Star new DODAVATEL_ID NAZEV 2 Asus 3 Fujitsu Siemens 8 UMAX 9 VBI SQL> DESC Dodavatele Name Null? Type Dodavatel_ID NOT NULL NUMBER(4) Nazev NOT NULL VARCHAR2(100) SQL> SELECT * FROM Dodavatele; Databázové systémy 1 - př. 5

39 Spojení tabulek – příklady
A_OBCHOD SCHÉMA Příklad - vnitřní spojení SQL> SELECT Produkty.produkt_id, Dodavatele.Nazev FROM Produkty, Dodavatele WHERE dodavatele.dodavatel_id = produkty.dodavatel_id; Produkt_Id Nazev 8 Asus 7 6 9 Fujitsu Siemens Databázové systémy 1 - př. 5

40 Spojení tabulek – příklady
A_OBCHOD SCHÉMA Příklad - vnitřní spojení s klauzulí JOIN SQL> SELECT Produkty.produkt_id, Dodavatele.Nazev FROM Produkty INNER JOIN Dodavatele ON dodavatele.dodavatel_id = produkty.dodavatel_id; Produkt_Id Nazev 8 Asus 7 6 9 Fujitsu Siemens Databázové systémy 1 - př. 5

41 Spojení tabulek – příklady
A_OBCHOD SCHÉMA Příklad - levé vnější spojení SQL> SELECT Produkty.produkt_id, Dodavatele.Nazev FROM Produkty LEFT OUTER JOIN Dodavatele ON dodavatele.dodavatel_id = produkty.dodavatel_id; Produkt_Id Nazev 8 Asus 7 6 9 Fujitsu Siemens 17 null Databázové systémy 1 - př. 5

42 Spojení tabulek – příklady
A_OBCHOD SCHÉMA Příklad - pravé vnější spojení SQL> SELECT Produkty.produkt_id, Dodavatele.Nazev FROM Produkty RIGHT OUTER JOIN Dodavatele ON dodavatele.dodavatel_id = produkty.dodavatel_id; Produkt_Id Nazev 6 Asus 7 8 9 Fujitsu Siemens null UMAX VBI Databázové systémy 1 - př. 5

43 Spojení tabulek – příklady
A_OBCHOD SCHÉMA Příklad - úplné vnější spojení SQL> SELECT Produkty.produkt_id, Dodavatele.Nazev FROM Produkty FULL OUTER JOIN Dodavatele ON dodavatele.dodavatel_id = produkty.dodavatel_id; Produkt_Id Nazev 8 Asus 7 6 9 Fujitsu Siemens 17 null UMAX VBI Databázové systémy 1 - př. 5

44 Spojení tabulek – příklady
Příklady využití vnějších spojení: Zobrazení všech dodavatelů, tedy i těch, kteří nedodávají žádný výrobek Zobrazení všech výrobků, tedy i těch, které nejsou přiřazeny žádnému dodavateli S využitím agregačních funkcí zobrazení počtu výrobků, které dodávají jednotliví dodavatelé (s vnějším spojením se zobrazí i hodnoty 0 u těch dodavatelů, kteří žádný výrobek nedodávají, v případě vnitřního spojení ve výsledku nebudou vůbec zahnuti) Databázové systémy 1 - př. 5

45 Řazení řádků ve výsledku SELECT
SELECT <seznam výstupních sloupců> FROM <seznam tabulek> [WHERE <podmínka řádku>] [GROUP BY <seznam výrazů seskupení>] [HAVING <podmínka skupiny>] [{UNION|UNION ALL|INTERSECT|MINUS} <příkaz SELECT>] [ORDER BY <seznam kritérií třídění>] <seznam kritérií třídění>= <kritérium třídění 1> [<kritérium třídění 2> [, …]] <kritérium třídění>= {<výraz> | <specifikace sloupce> | <pořadí sloupce>} } [{ ASC | DESC }] Ve výsledku budou řádky seřazeny dle požadavků uvedených za klauzulí ORDER BY: ASC .. Vzestupně DESC .. Sestupně Databázové systémy 1 - př. 5

46 Řazení řádků ve výsledku SELECT
A_OBCHOD SCHÉMA SELECT nazev FROM dodavatele WHERE mesto <> 'Ostrava' ORDER BY nazev DESC; SELECT nazev, mesto FROM dodavatele WHERE mesto <> 'Ostrava' ORDER BY 2 ASC, 1 DESC; SELECT mesto, zastoupeni FROM dodavatele WHERE nazev <> ' IBM' ORDER BY mesto ASC, zastoupeni DESC ; Databázové systémy 1 - př. 5

47 Aritmetické operátory
Umožňují na základě původních hodnot vypočítat hodnoty nové. Sčítání + (unární i binární) Odčítání - (unární i binární) Násobení * Dělení / Priorita Nejprve se vyhodnocují části výrazu uzavřené v závorkách Násobení a dělení mají přednost před sčítáním a odečítáním Operátory se stejnou prioritou se vyhodnocují zleva doprava Databázové systémy 1 - př. 5

48 Databázové systémy 1 - př. 5
Operátor zřetězení Umožňuje spojovat hodnoty ze sloupců a znakové řetězce Zřetězení || Příklad SELECT nazev, mesto || ' ' || zastoupeni AS pobocka FROM dodavatele; Databázové systémy 1 - př. 5

49 Operátory pro porovnávání
= rovnost <> nerovnost < menší než > větší než <= menší nebo rovno >= větší nebo rovno Databázové systémy 1 - př. 5

50 Operátory pro porovnávání
[NOT] BETWEEN x AND y [není] větší nebo rovno x a menší nebo rovno y [NOT] IN [ne] patří do množiny ANY, SOME porovnání hodnoty s každou hodnotou v seznamu nebo řádkem vnořeného dotazu, musí být doplněn jedním z operátorů =, <,>, <=, >=. Výraz je pravdivý, pokud je pravdivý alespoň pro JEDNU položku seznamu. ALL porovnání hodnoty s každou hodnotou v seznamu nebo řádkem vnořeného dotazu, musí být doplněn jedním z operátorů =, <,>, <=, >=. Výraz je pravdivý, pokud je pravdivý pro VŠECHNY položky seznamu. Databázové systémy 1 - př. 5

51 Operátory pro porovnávání
[NOT] EXISTS ve vnořeném dotazu je vrácen alespoň jeden řádek IS [NOT] NULL test na [ne] rovnost NULL X [NOT] LIKE y porovnání řetězce s maskou obsahující zástupné znaky _ právě jeden libovolný znak % nula nebo více libovolných znaků Databázové systémy 1 - př. 5

52 Operátory pro porovnávání
A_OBCHOD SCHÉMA Příklady SELECT oznaceni FROM produkty WHERE cena BETWEEN AND 30000 SELECT Produkty.oznaceni FROM Produkty, Dodavatele WHERE dodavatele.dodavatel_id = produkty.dodavatel_id AND dodavatel.nazev IN (‘UMAX’, ‘Asus’) WHERE cena = ANY (20000, 30000, 25000, 35000) WHERE cena>= ALL (SELECT cena FROM produkty) Databázové systémy 1 - př. 5

53 Databázové systémy 1 - př. 5
SELECT …. LIKE A_OBCHOD SCHÉMA LIKE umožňuje využití zástupných znaků při definici podmínek za WHERE v SQL příkazech jako select, insert, update, delete. % nahrazuje libovolný řetězec libovolné délky (i nulové délky) _ nahrazuje libovolný jeden znak Příklady: SELECT * FROM dodavatele WHERE mesto LIKE '%ra%'; SELECT * FROM dodavatele WHERE mesto NOT LIKE 'Pha%'; SELECT * FROM produkty WHERE oznaceni LIKE 'TravelMate 2__0'; Databázové systémy 1 - př. 5

54 Operátory pro porovnávání
A_OBCHOD SCHÉMA Příklady SELECT oznaceni FROM produkty WHERE EXISTS (SELECT * FROM dodavatele WHERE dodavatele.dodavatel_id = produkty.dodavatel_id); SELECT nazev FROM dodavatele WHERE zastoupeni IS NULL; SELECT nazev, oznaceni FROM dodavatele, produkty WHERE dodavatele.dodavatel_id = produkty.dodavatel_id AND oznaceni LIKE 'VAIO%'; Databázové systémy 1 - př. 5

55 Databázové systémy 1 - př. 5
Prostor pro otázky a praktické ukázky Děkuji za pozornost Databázové systémy 1 - př. 5


Stáhnout ppt "Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1"

Podobné prezentace


Reklamy Google