1 / 11

Jazyk SQL

Jazyk SQL. Informatika pro ekonomy II přednáška 11. Popis jazyka SQL. SQL — Structured Query Language (strukturovaný dotazovací jazyk, IBM počátkem sedmdesátých let). Neprocedurální jazyk — příkazy popisují, CO se má provést, a ne JAK.

torn
Télécharger la présentation

Jazyk SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jazyk SQL Informatika pro ekonomy II přednáška 11

  2. Popis jazyka SQL • SQL — Structured Query Language (strukturovaný dotazovací jazyk, IBM počátkem sedmdesátých let) • Neprocedurální jazyk — příkazy popisují, CO se má provést, a ne JAK • Různá dělení příkazů do skupin. Například se užívá dělení na tyto tři části: jazyk pro definici dat (DDL), jazyk pro manipulaci s daty (DML), dotazovací jazyk (DQL)

  3. Příkazy skupiny DDL • CREATE, ALTER, RENAME, DROP • Definování primárního klíče PRIMARY KEY • Znemožnění prázdné hodnoty NOT NULL • Možnost uložení výchozí hodnoty DEFAULT • Jedinečnost v některém sloupci UNIQUE • Definování omezení CHECK • Definování pojmenovaného omezení CONSTRAINT • Definování cizích klíčů REFERENCES

  4. Příkazy skupiny DDL • Vytvoření tabulky — CREATE TABLECREATE TABLE lide(rc varchar(10) PRIMARY KEY,jmeno varchar(15), prijmeni varchar(25) NOT NULL, utvar number(3) REFERENCES odd(utvar)) • Přejmenování tabulky — RENAME • RENAME lide TO zam • Odstranění tabulky — DROPDROP TABLE odd

  5. Příkazy skupiny DML • Vkládání záznamů — INSERT • INSERT INTO zam VALUES ('5806176789','Karel','Smolný',100) • INSERT INTO zam (rc,utvar,prijmeni) • VALUES ('6955112819',101,'Veselská') • Modifikace hodnot — UPDATE • Zvýšení platu všem zaměstnancům o 1000 Kč • UPDATE zam SET plat = plat + 1000Zvýšení platu o 20 % všem zaměstnancům útvaru 101UPDATE zam SET plat = 1,2 * plat WHERE utvar=101 • Odstranění záznamů — DELETEVýmaz zaměstnanců, kteří nemají zadané jméno • DELETE FROM zam WHERE jmeno IS NULL

  6. Příkaz skupiny DQL — SELECT • Zobrazení záznamů — SELECT • Zobrazení všech záznamů se všemi atributy z tabulky • SELECT * FROM zam • Projekce • Zobrazení jen jména a příjmení z tabulky zaměstnanců • SELECT jmeno,prijmeni FROM zam • Výpis příjmení s čísly řádků (změna názvu sloupce výpisu)SELECT rownum AS "č.",prijmeni FROM zam • Restrikce — klauzule WHEREVýpis zaměstnanců pracujících v oddělení 100 • SELECT * FROM zam WHERE utvar = 100

  7. Příkaz SELECT • Spojení tabulek • Výpis příjmení zaměstnanců a názvů útvaru • SELECT prijmeni, nazev FROM zam, odd • WHERE zam.utvar=odd.utvar • Řazení vypisovaných záznamů — klauzule ORDER BY • Výpis abecedního seznamu zaměstnanců • SELECT jmeno,prijmeni FROM zam • ORDER BY prijmeni,jmeno,utvar DESC • Seskupení záznamů — klauzule GROUP BYVýpis počtu zaměstnanců v jednotlivých odděleních • SELECT count(prijmeni) FROM zam GROUP BY utvar

  8. Příkaz SELECT • Výběr seskupených záznamů • Výpis čísel útvarů, v nichž mají zaměstnanci větší průměrný plat než 18000 Kč • SELECT utvar, avg(plat) FROM zam • GROUP BY utvar having avg(plat)>18000 • Poddotazy — vnoření příkazu SELECT • Výpis seznamu zaměstnanců, kteří mají větší plat než Václav Novák • SELECT jmeno,prijmeni FROM zam • WHERE plat > (SELECT plat FROM zam WHERE jmeno='Václav' AND prijmeni='Novák')

  9. Operátory • Použití pro manipulaci s daty. • Operátor provede s daty operaci a vrátí výsledek. • Unární operárory operátor operand (př. NOT Zaplaceno) • Binární operátory operand1 operátor operand2 (př. 5 + 4) • Priority vyhodnocování (lze změnit závorkováním) • Aritmetické operátory + – = * / • Operátory pro porovnání = <> >= <= BETWEENSELECT * FROM zam WHERE plat NOT BETWEEN 18000 AND 20000SELECT * FROM zam WHERE plat >= ALL (SELECT plat FROM zam)

  10. Operátory • Logické operátory AND, OR, NOTSELECT * FROM zam WHERE (utvar = 100) AND (jmeno = ’Petr’) • Množinové operátory UNION, UNION ALL, INTERSECT, MINUSSELECT prijmeni FROM zam1 UNION SELECT prijmeni FROM zam2 • Operátory ANY, ALL, LIKESELECT * FROM zam WHERE jmeno = ANY (’Jan’,’Daniel’) • Regulární výrazySELECT * FROM zam WHERE jmeno = LIKE ’K_r%’

  11. Pseudosloupce • ROWID (jedinečný identifikátor řádku tabulky) • ROWNUM (dočasná hodnota řádku tabulky)SELECT prijmeni FROM zam WHERE ROWNUM <= 2 • Konstanta NULLSELECT * FROM zam WHERE plat IS NOT NULL

More Related