Aritmetické operátory

Podobné dokumenty
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Funkce pro práci s jednotlivými řádky

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Databázové systémy a SQL

Dotazy tvorba nových polí (vypočítané pole)

Databázové systémy I. 4. přednáška

Databázové systémy a SQL

KIV/ZIS cvičení 5. Tomáš Potužák

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

Jazyk PL/SQL Úvod, blok

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Úvod do databázových systémů

MS Access Dotazy SQL

Úvod do databázových systémů

Databázové systémy I

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

7. blok Funkce. Studijní cíl

6. blok část B Vnořené dotazy

Znak Slovy Popis Zdroj Výsledek Formátova cí řetězec v CZ verzi Excelu

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Databáze I. Přednáška 4

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

4. blok část A Logické operátory

Databázové systémy Cvičení 5.3

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Tabulkový procesor. Základní rysy

Databáze SQL SELECT. David Hoksza

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

6. blok část C Množinové operátory

Databázové systémy. Cvičení 6: SQL

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

LabView jako programovací jazyk II

KIV/ZIS - SELECT, opakování

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

LEKCE 6. Operátory. V této lekci najdete:

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Operátory ROLLUP a CUBE

Úvod do databázových systémů

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

Programovací jazyk Pascal

Úvod do databázových systémů

Algoritmizace a programování

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Zápis programu v jazyce C#

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Semestrální práce z DAS2 a WWW

Kapitola 4: SQL. Základní struktura

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

Informační systémy ve zdravotnictví. 10. cvičení

5. blok Souhrnné a skupinové dotazy

Programy na PODMÍNĚNÝ příkaz IF a CASE

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

KIV/ZIS cvičení 6. Tomáš Potužák

Informační systémy ve zdravotnictví. 8. cvičení

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Databázové systémy Cvičení 5

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Materiál ke cvičením - SQL

U koly na procvic ení jazyka T-SQL

Úvod do programovacích jazyků (Java)

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

Programování v jazyce JavaScript

Databáze I. Přednáška 6

Internetová filmová databáze IFDB

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

2. cvičení z ZI1 - Excel

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

5. POČÍTAČOVÉ CVIČENÍ

PROGRAMOVÁNÍ V SQL Podpora výuky databázových systémů na SOŠ, založené na technologiích společnosti ORACLE.

Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2

Databázové systémy Cvičení 5.2

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Klientský formát POHLEDÁVKY platný od

VY_32_INOVACE_08_2_04_PR

5 Přehled operátorů, příkazy, přetypování

C++ objektově orientovaná nadstavba programovacího jazyka C

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

1 Úvod do práce s databází

Skripty základy VB, vestavěné objekty, příklady

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Textové, datumové a časové funkce

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting

Transkript:

Aritmetické operátory * / + - % (MOD) priorita operátorů se dá upravit pomocí závorek Vypište příjmení, jména a platy zaměstnanců včetně pěti procentní prémie. Vypište název pracovní pozice a k ní připojte průměr maximálního a minimálního platu. Chceme-li po databázi, aby nám vypočítala aritmetický výraz, musíme dodržet syntaxi. To znamená, že nesmí chybět část FROM. V takovýchto případech použijeme tabulku dual. Pomocí tabulky dual vypočítejte hodnotu následujícího výrazu (3 3 *((18-12)/3)+((24-2*6)/4) 2 )/3 2

Spojovací operátor: Spojovací operátor: (platí pro Oracele, v jiných DBS lze nahradit funkcí CONCAT() viz později.) spojuje sloupce aritmetické výrazy konstanty řetězce znaků, čísel nebo dat vytváří řetězec Vypište seznam, který bude obsahovat záznamy ve tvaru číslo oddělení název oddělení.

Aliasy umožňují libovolné pojmenování vypisovaných sloupců nepovinné klíčové slovo AS obsahuje-li alias mezery speciální znaky chceme malá a velká písmena, pak je nutné použít uvozovky A lias Spojte do jednoho sloupce jméno a příjmení zaměstnance a pojmenujte tento sloupec jména zaměstnanců.

NULL Hodnota, která je nedostupná nepřiřazená neznámá neaplikovatelná

DISTINCT potlačuje duplicitní záznamy musí následovat za SELECT Vyberte čísla oddělení, ve kterých je alespoň jeden zaměstnanec. Vyberte čísla všech vedoucích pracovníků.

Relační operátory = rovno > větší než >= větší nebo rovno < menší než <= menší nebo rovno <>,!=, ^= nerovno při práci se znaky, textovými řetězci a daty je potřeba použít apostrofy Rozeznávají se malá a velké písmena (case Sensitive)

Další porovnávací operátory BETWEEN AND LIKE (%, _, \) IN IS NULL IS NOT NULL Vyberte všechny zaměstnance, kteří nastoupili mezi 2. 1. 2007 a 9. 7. 2008. Vypište všechna příjmení zaměstnanců, jejichž příjmení má jako druhé písmeno o a poslední k. Vypište všechny zaměstnance, kteří pracují na odděleních číslo (10,15,23) Vypište jména a příjmení všech zaměstnanců, kteří nemají nadřízeného

Priorita operátorů Priorita Operace 1 Aritmetické, + - * / 2 Zřetězení 3 Porovnání <, <=,, <> 4 IS (NOT) NULL, (NOT) IN, LIKE 5 (NOT) BETWEEN 6 NOT 7 AND 8 OR

Funkce V dbs rozlišujeme dva typy funkcí:

Víceřádkové funkce AVG COUNT MAX MIN SUM

Jednořádkové funkce

Znakové funkce LOWER všechna písmena malá UPPER všechna písmena velká INITCAP první písmeno v každém slovu velké CONCAT sřetězení SUBSTR('řetězec', číslo znaku kde začít počítáno od 1, kolik zanků) podřetězec LENGTH délka řetězce INSTR('řetězec', 'zvak') najde pozici znaku v daném řetězci LPAD(řetězec, počet znaků, znak, který se bude doplňovat zleva ) vypíše na daný počet znaků a zbytek doplní zleva požadovaným znakem RPAD totéž jen zprava TRIM('H' FROM 'HelloWorld') --> elloworld - Odstraní všechny zadané znaky ze začátku nebo konce řetězce. REPLACE (string1, string_to_replace, [replacement_string]) V prvním uvedeném řetězci nahradí podřetězce na drhém místě funkce řetězci na třetím místě

Data (čas) SYSDATE vrátí aktuální datum SELECT SYSDATE FROM DUAL; Datum je uchováváno jako číslo pro ho lze odčítat, sčítat apod. Vypočítejte, kolik máte dnes dnů MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY ROUND TRUNC Předpokládejme, že SYSDATE = '25-JUL-95' Function ROUND (SYSDATE, 'MONTH') ROUND (SYSDATE, 'YEAR') TRUNC (SYSDATE, 'MONTH') TRUNC (SYSDATE, 'YEAR ) Number of months between two dates Add calendar months to date Next day of the date specified Last day of the month Round date Truncate date Result 01-AUG-95 01-JAN-96 01-JUL-95 01-JAN-95

Převodní funkce: Vycházejme ze čtyř základních typů: VARCHAR2 řetězce s proměnnou délkou CHAR řetězce s fixní délkou NUMBER typ pro čísla DATE typ pro data v DBS od Oracle se implicitně zobrazují DD-MON-YY (např. 19-JUN-04)

Datum -> text I TO_CHAR (sloupec s datem, 'formát požadovaného zobrazení') YYYY Full year in numbers YEAR Year spelled out MM Two-digit value for month MONTH Full name of the month MON Three-letter abbreviation of the month DY Three-letter abbreviation of the day of the week DAY Full name of the day of the week DD Numeric day of the month HH24:MI:SS AM 15:45:32 PM DD of MONTH 12 of October DDspth FOURTEENTH Ddspth Fourteenth ddspth fourteenth DDD or DD or D Day of year, month or week

Datum -> text II Current Year Specified Date RR Format YY Format 1995 27-OCT-95 1995 1995 1995 27-OCT-17 2017 1917 2001 27-OCT-17 2017 2017 2001 27-OCT-95 1995 2095 If the specified two-digit year is: If two digits of the current year are: 0-49 50-99 0-49 The return date is in the current century 50-99 The return date is in the century after the current one The return date is in the century before the current one The return date is in the current century

Číslo -> text TO_CHAR(číslo, 'formát výstupu') ELEMENT DESCRIPTION EXAMPLE RESULT 9 Numeric position (# of 9 s determine width) 999999 1234 0 Display leading zeros 099999 001234 $ Floating dollar sign $999999 $1234 L Floating local currency symbol L999999 FF1234. Decimal point in position specified 999999.99 1234.00, Comma in position specified 999,999 1,234 MI Minus signs to right (negative values) 999999MI 1234- PR Parenthesize negative numbers 999999PR <1234> EEEE Scientific notation ( must have four EEEE) 99.999EEEE 1,23E+03 V Multiply by 10 n times (n= number of 9 s after V) 9999V99 9999V99 B Display zero values as blank, not 0 B9999.99 1234.00

Vyhodnocení zanořených funkcí Jednořádkové funkce je možné do sebe zanořovat. SELECT TO_CHAR( NEXT_DAY(ADD_MONTHS(datum_nastupu, 6), 'pátek'),'fmday, Month DDth, YYYY') AS "Next Evaluation" FROM zamestnanci WHERE id_zamestnanci=100; Krok 1: k datu nástupu se přidá šest měsíců. Krok 2: určí se datum prvního pátku, který bude následovat. Krok 3: převede datum do textového řetězce požadovaného formátu

Funkce pro práci s hodnotou NULL NVL Funkce NVL převede hodnotu null na známou hodnotu s daným datový typ, a to buď datum, řetězcem nebo číslo. Datové typy nulové hodnoty sloupce a nová hodnota musí být stejná. NVL2 Tato funkce operuje se třemi parametry. Pokud je první hodnota není null, vrátí funkce hodnotu uvedenou jako první parametr, má-li první parametr hodnotu null, funkce vrátí hodnotu třetího parametru. NULLIF Tato funkce porovnává dvě hodnoty. Pokud se rovnají, je vrácena hodnota NULL. Jestliže se nerovnají, je vrácena hodnota prvního parametru. COALESCE Tato funkce je rozšířením funkce NVL. Její výhodou je, že je schopná zpracovat více atributů. Funkce prochází všechny uvedené parametry dokud nenalezne nenullový a ten vypíše

https://trust.mendelu.cz/apex/ Workspace DBS_CVICENI Username student_xxx Password student_xxx (pokud jste si heslo už nezměnili)

Příklady 1. Vypište názvy všech zemí začínající na A a obsahující písmeno n. 2. Vypište adresu poboček, které mají orientační číslo dělitelné pěti beze zbytku. 3. Vypište unikátní názvy oddělení, které obsahují k nebo o

4. Vypište datum prodeje ve tvaru den v týdnu den v měsíci. měsíc slovy a poslední dvě číslice roku, kde byla celková tržba vyšší než 200 tisíc a zároveň menší než 350 tisíc. 5. Vypište název producentů, kteří nemají uvedený telefonní kontakt. 6. Vypište název a telefonní spojení producentů, kde kontaktní osoba se křestním jménem jmenuje Monika

7. Vypište datum všech prodejů a jejich celkovou cenu a počet prodaných, kde se produkt 'Produkt_SE 50' od firmy 'firma_39' prodal alespoň po osmi kusech. Celkovou cenu zarovnejte doprava a zaokrouhlete na stovky a vypište na 10 platných cifer a před jako první znak vypište dolar. Datum vypište podle příkladu: čtrnáctý led 09. Sloupce pojmenujte datum a cena. 8. Vypište názvy produktů a jejich pořizovací cenu, jejichž pořizovací cena je celé číslo.

9. Odkdy dokdy byly v oddělení potravin na pobočce Brno 2 nabízeny produkty dražší než 350. 10. Vypište maximální, minimální a průměrný plat všech zaměstnanců a celkové mzdové náklady (zaokrouhlený na dvě desetinná místa). Sloupce pojmenujte odpovídajícím způsobem. Mezi řády tisíců udělejte čárku 11. Vypište v kolika zemích se vyrábí nějaký produkt.

12. Vypište, kolik měsíců jste na světě. 13. Vypište jakým dnem (myšleno, pondělí, úterý,...) končí aktuální měsíc. 14. Vypište datum prvního pátku roku 2015. 15. Vypište jméno a příjmení zaměstnanců a příjmení jejich vedoucích, jejichž plat je nad průměrný. Pokud nemají vedoucího vypište bez nadřízeného.

16. Ze jména a příjmení vytvořte login ve tvaru první písmeno křestního jména a prvních pět znaků příjmení vše malými písmeny. Loginy vytvořte tak, aby se v nich nevyskytovala diakritika. 17. Zjistěte, zda takto vytvořené loginy jsou pro daný soubor zaměstnanců unikátní. Výsledkem bud buď ano nebo ne.

18. Vypište název producenta a jeho telefonní číslo, pokud nemá uveden telefon, vypište e- mail. Pokud nemá ani e-mail, vypište kontaktní osobu. Pokud nemá zaznamenánu ani tu, vypište: Nemá uveden žádný kontakt. Tento sloupec pojmenujte kontakt. 19. Vypište jméno, příjmení, počet dnů v zaměstnání a název jejich pracovní pozice u zaměstnanců, kteří k 1. 1. 2008 byli již minimálně půl roku zaměstnáni a seřaďte je podle doby pracovního poměru od nejdéle pracujícího.

20. Vypište účet od prodej(e/ů), kter(ý/é) byl(y) provedeny 15. ledna 2009 na pobočce v Břeclavi a jejich celková cena byla mezi 10 a 12 tisíci. 21. Ověřte, zda celková cena prodeje odpovídá prodanému zboží v rámci daného prodeje. Zjistěte v kolik případech tomu tak není