Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk

Wielkość: px
Rozpocząć pokaz od strony:

Download "Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk"

Transkrypt

1 Materiały szkoleniowe Podstawy jzyka SQL Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk

2

3 Spis treci Zawarto tabel wykorzystywanych na kursie 5 Zawarto tabeli DEPT 6 Zawarto tabeli EMP 6 Zawarto tabeli SALGRADE 6 Budowa tabel wykorzystywanych na kursie 7 Relacyjny model danych 9 Operatory relacyjne 10 Własnoci relacyjnej bazy danych 10 Przegld jzyka SQL 13 Zasady SQL 14 wiczenia 28 Funkcje grupowe 31 Stosowanie funkcji grupowych 32 Klauzula GROUP BY 33 Wybierane wyraenia a funkcje grupowe 34 Klauzula HAVING 35 Kolejno wystpowania klauzul 36 wiczenia 37 Wybieranie danych z wielu tabel 39 Złczenie równociowe 40 Złczenia nierównociowe 41 wiczenia 43 Inne metody łczenia tabel 47 Złczenia zewntrzne 48 Połczenie tabeli samej ze sob 48 Operatory zbiorowe 49

4 wiczenia 52 Podzapytania 55 Podzapytania zagniedone 56 Podzapytania zwracajce jeden wiersz 56 Podzapytania zwracajce wiele wierszy 57 wiczenia 62 Jzyk definiowania danych 63 Struktury danych ORACLE 64 Tworzenie tabel 64 Warunki integralnoci 65 Tworzenie tabeli przez zapytanie 70 Zmiana definicji tabeli 71 Jzyk manipulowania danymi 75 Wstawianie wierszy 76 Modyfikacja wierszy 77 Usuwanie wierszy 77 Transakcje 78 Perspektywy 81 Perspektywy 82 Tworzenie perspektyw 82 Usuwanie perspektywy 83 Uytkownicy i uprawnienia 85 Zarzdzanie uytkownikami 86 Uprawnienia w bazie Oracle 87 Role 90

5 Zawarto tabel wykorzystywanych na kursie

6 Zawarto tabeli DEPT DEPTNO DNAME LOC ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Zawarto tabeli EMP EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 81/11/ BLAKE MANAGER /05/ CLARK MANAGER /06/ JONES MANAGER /04/ MARTIN SALESMAN /09/ ALLEN SALESMAN /02/ TURNER SALESMAN /09/ JAMES CLERK /12/ WARD SALESMAN /02/ FORD ANALYST /12/ SMITH CLERK /12/ SCOTT ANALYST /12/ ADAMS CLERK /01/ MILLER CLERK /01/ Zawarto tabeli SALGRADE GRADE LOSAL HISAL

7 Budowa tabel wykorzystywanych na kursie Podczas kursu bdziemy korzysta z uprzednio utworzonych tabel opisujcych zatrudnionych w pewnej firmie, ich wynagrodzenia i miejsca pracy. Firma dzieli si na departamenty. Kady pracownik naley do pewnej grupy zaszeregowania, w zalenoci od wysokoci pensji, któr otrzymuje. Tabela DEPT tabela zawierajca wszystkie departamenty Kolumna DEPTNO DNAME LOC Opis Departament number unikalny numer departamentu Nazwa departamentu przechowywana w zapisie duymi literami Lokalizacja departamentu (miasto w którym znajduje si departament) Tabela EMP wykaz wszystkich pracowników Kolumna EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO Opis Employee number unikalny numer pracownika Nazwisko pracownika przechowywane w zapisie duymi literami Etat, stanowisko pracy Identyfikator szefa (czyli EMPNO we wierszu szefa) Data zatrudnienia Pensja Prowizja naliczona od pocztku roku, dotyczy pracowników zatrudnionych na stanowisku SALESMAN Numer departamentu w którym zatrudniony jest pracownik. Warto w tym polu musi odpowiada jednemu i tylko jednemu wierszowi w tabeli DEPT

8 Tabela SALGRADE tabela widełek zaszeregowania Kolumna GRADE LOSAL HISAL Opis Numer grupy zaszeregowania LOW SALARY dolna granica widełek płacowych dla stawki zaszeregowania GRADE HIGH SALARY górna granica widełek

9 Relacyjny model danych

10 Relacyjna baza danych jest to zbiór dwuwymiarowych tabel. Z modelem relacyjnym powizane s nastpujce pojcia: tabela, kolumna, wiersz, pole. Model relacyjny opiera si na pojciach zaczerpnitych z algebry. Pojcia te to: relacja, operator działajcy na relacjach i dajcy w wyniku relacje. Relacje przedstawiane s w postaci tabel, za wybieranie danych z tabel to wynik działania operatorów relacyjnych na tych tabelach. Operatory relacyjne Wyróniamy nastpujce operatory relacyjne: SELEKCJA PROJEKCJA ILOCZYN KARTEZJASKI ZŁCZENIE SUMA ZBIOROWA CZ WSPÓLNA RÓNICA ZBIOROWA pobieranie danych z relacji, w wyniku otrzymujemy wszystkie wiersze, które spełniaj zadany warunek operacja pobrania wszystkich wierszy, ale tylko wskazanych kolumn z tych wierszy wynik połczenia kady z kadym wierszy z dwóch relacji połczenie dwóch relacji poprzez pewne kryterium łczace niektóre wiersze z obu relacji wszystkie wiersze z obu relacji wiersze wspólne dla obu relacji wiersze, które wystpuj w jednej, a nie wystpuj w drugiej relacji Własnoci relacyjnej bazy danych Relacyjna baza danych ma nastpujce własnoci: baza jest widziana przez uytkownika jako zbiór tabel, nazwy tabel w bazie musz by unikalne, tabele składaj si wierszy i kolumn, jzykiem słucym do operowania na bazie danych jest jzyk nieproceduralny oparty na algebrze relacji. Obecnie standardem jest SQL.

11 Tabele w relacyjnej bazie danych maj nastpujce własnoci: wiersze w tabeli musz by róne, w tabeli nie ma kolumn o tej samej nazwie, kolejno wierszy jest nieokrelona, kolejno kolumn jest nieokrelona, wartoci pól powinny by elementarne.

12

13 Przegld jzyka SQL

14 SQL jest oparty na wyraeniach jzyka angielskiego. Jest jzykiem deklaratywnym podajemy tylko, co naley wykona, ale nie specyfikujemy w jaki sposób. Jzyk SQL słuy do nastpujcych celów: specyfikowania zapyta, operowania danymi DML (Data Modification Language) wstawiania, modyfikowania i usuwania danych z bazy danych, definiowania danych DDL (Data Definition Language) dodawania do bazy nowych obiektów, sterowania danymi DCL (Data Control Language) okrelania praw dostpu do danych. Zasady SQL Zapisywanie polece SQL Polecenia SQL mog by rozmieszczone w kilku liniach. Koniec polecenia SQL zaznacza si rednikiem. Zaleca si umieszczanie klauzul od nowej linii. Mona uywa tabulacji. Nie wolno dzieli słowa pomidzy linie. Obojtne, czy uywamy małych czy wielkich liter, chyba e sprawdzamy zawarto pola. Podstawowy blok zapyta SQL Za pomoc polecenia uzyskujemy informacje z bazy. Polecenie składa si co najmniej z klauzuli SELECTi klauzuli FROM. W klauzuli SELECT wymieniamy interesujce nas kolumny. W klauzuli FROM wskazujemy, skd pobra dane. Aby pobra nazwiska pracowników oraz ich zawód, napiszemy: SELECT ENAME, JOB ; ENAME JOB KING PRESIDENT BLAKE MANAGER CLARK MANAGER JONES MANAGER MARTIN SALESMAN ALLEN SALESMAN

15 TURNER JAMES WARD FORD SMITH SCOTT ADAMS MILLER SALESMAN CLERK SALESMAN ANALYST CLERK ANALYST CLERK CLERK Nazwy kolumn oddzielamy przecinkami. Aby wybra wszystko z danej tabeli wpisujemy * (gwiazdk) zamiast listy kolumn. SELECT * ; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 81/11/ BLAKE MANAGER /05/ CLARK MANAGER /06/ JONES MANAGER /04/ MARTIN SALESMAN /09/ ALLEN SALESMAN /02/ TURNER SALESMAN /09/ JAMES CLERK /12/ WARD SALESMAN /02/ FORD ANALYST /12/ SMITH CLERK /12/ SCOTT ANALYST /12/ ADAMS CLERK /01/ MILLER CLERK /01/ W klauzuli SELECT mog te by uyte: wyraenia arytmetyczne, aliasy (nazwy zastpcze) kolumn, konkatenacja, literały. Wyraenia arytmetyczne W wyraeniu arytmetycznym mog wystpowa nazwy kolumn, stałe wartoci liczbowe oraz operatory arytmetyczne: + dodawanie - odejmowanie * mnoenie / dzielenie Przykład SELECT ENAME, SAL*12 ; ENAME SAL* KING BLAKE 34200

16 CLARK JONES MARTIN ALLEN TURNER JAMES WARD FORD SMITH 9600 SCOTT ADAMS MILLER W wyraeniach zachowywany jest nastpujcy priorytet działa: mnoenie, dzielenie, dodawanie, odejmowanie. Np. w wyraeniu arytmetycznym *34 najpierw zostanie obliczona warto wyraenia 12*24, a do wyniku zostanie dodana warto 250. Kolejno wykonywania działa mona zmieni przy pomocy nawiasów. Na przykład w wyraeniu arytmetycznym ( )*34 najpierw zostanie obliczona warto wyraenia , a wynik zostanie pomnoony przez 34. Aliasy kolumn Domylne nagłówki kolumn moemy zastpi innymi nazwami, które bd bardziej znaczce. Mona uywa polskich liter. Alias podaje si bezporednio po nazwie kolumny, której nazw chcemy zmieni. Spacje w aliasie nie s dopuszczane, mona natomiast utworzy alias ze spacj biorc cało w podwójne apostrofy. Przykład SELECT ENAME NAZWISKO, SAL*12 WYNAGR, COMM PROWIZJA ; NAZWISKO WYNAGR PROWIZJA KING BLAKE CLARK JONES MARTIN ALLEN TURNER JAMES WARD FORD SMITH 9600 SCOTT ADAMS MILLER 15600

17 Operator konkatenacji Operator konkatenacji ( ) pozwala na łczenie kolumny z kolumn, literałem, wyraeniem arytmetycznym lub wartoci stał. Argumenty s łczone i tworz jedna kolumn wynikow. Aby połczy kolumny EMPNO i ENAME i opatrzy je tytułem PRACOWNIK, napiszemy: SELECT EMPNO ENAME PRACOWNIK ; PRACOWNIK KING 7698BLAKE 7782CLARK 7566JONES 7654MARTIN 7499ALLEN 7844TURNER 7900JAMES 7521WARD 7902FORD 7369SMITH 7788SCOTT 7876ADAMS 7934MILLER Literały Oprócz kolumn na licie SELECT mog znajdowa si literały (cigi znaków lub liczby). Wtedy dla kadego wiersza zostanie wypisana ta sama warto literału: SELECT ENAME PRACOWNIK, ' PRACUJE W DEPARTAMENCIE', DEPTNO DEPARTAMENT ; PRACOWNIK 'PRACUJE W DEPARTAMENCIE' DEPARTAMENT KING 'PRACUJE W DEPARTAMENCIE' 10 BLAKE 'PRACUJE W DEPARTAMENCIE' 30 CLARK 'PRACUJE W DEPARTAMENCIE' 10 JONES 'PRACUJE W DEPARTAMENCIE' 20 MARTIN 'PRACUJE W DEPARTAMENCIE' 30 ALLEN 'PRACUJE W DEPARTAMENCIE' 30 TURNER 'PRACUJE W DEPARTAMENCIE' 30 JAMES 'PRACUJE W DEPARTAMENCIE' 30 WARD 'PRACUJE W DEPARTAMENCIE' 30 FORD 'PRACUJE W DEPARTAMENCIE' 20 SMITH 'PRACUJE W DEPARTAMENCIE' 20 SCOTT 'PRACUJE W DEPARTAMENCIE' 20 ADAMS 'PRACUJE W DEPARTAMENCIE' 20 MILLER 'PRACUJE W DEPARTAMENCIE' 10

18 Obsługa wartoci NULL Jeli warto wiersza w kolumnie jest nieokrelona, to mówimy, e na ona warto NULL. Nie jest to tosame z wartoci 0. Warto wyraenia w którym bdzie wystpowa warto NULL równie bdzie NULL. Dlatego te wyraenie SAL*12+COMM zwróci NULL tam, gdzie COMM było równe NULL. SELECT ENAME, SAL*12+COMM ; ENAME SAL*12+COM KING BLAKE CLARK JONES MARTIN ALLEN TURNER JAMES WARD FORD SMITH SCOTT ADAMS MILLER Aby w wyraeniu potraktowa warto NULL jako warto rón od NULL, trzeba uy funkcji NVL. SELECT ENAME, SAL*12+NVL(COMM,0) ROCZNE_WYN ; ENAME ROCZNE_WYN KING BLAKE CLARK JONES MARTIN ALLEN TURNER JAMES WARD FORD SMITH 9600 SCOTT ADAMS MILLER W powyszym przykładzie wartoci róne od NULL zachowuj swoj warto, za wartoci NULL zostan potraktowane jak 0. Drugi parametr funkcji NVL okrela, na jak warto naley zamieni warto NULL: NVL(DATA,'85/09/01') NVL(NUMBER, 10) NVL(MIASTO,'KRAKÓW')

19 Eliminacja duplikatów Domylnie wywietlane s wyniki zapytania bez eliminowania powtarzajcych si wartoci, np.: SELECT DEPTNO ; DEPTNO Słowo kluczowe DISTINCT Eliminacj powtarzajcych si wartoci uzyskujemy stosujc słowo kluczowe DISTINCT w klauzuli SELECT. SELECT DISTINCT DEPTNO ; DEPTNO Mona te zada wyspecyfikowania wzajemnie rónych list wartoci poprzez podanie w klauzuli SELECT wielu nazw kolumn. Słowo kluczowe odnosi si do wszystkich nazw kolumn wystpujcych w klauzuli SELECT. SELECT DISTINCT JOB, DEPTNO ; JOB DEPTNO ANALYST 20 CLERK 10 CLERK 20 CLERK 30 MANAGER 10

20 MANAGER 20 MANAGER 30 PRESIDENT 10 SALESMAN 30 Klauzula ORDER BY Aby okreli kolejno, w jakiej bd zwracane wyniki, naley uy klauzuli ORDER BY (uporzdkuj wg). Klauzula ORDER BY musi by ostatni klauzul polecenia. SELECT ENAME, JOB ORDER BY ENAME; ENAME JOB ADAMS CLERK ALLEN SALESMAN BLAKE MANAGER CLARK MANAGER FORD ANALYST JAMES CLERK JONES MANAGER KING PRESIDENT MARTIN SALESMAN MILLER CLERK SCOTT ANALYST SMITH CLERK TURNER SALESMAN WARD SALESMAN Domylnie dane s sortowane w porzdku rosncym ( ) od najmniejszych do najwikszych liczb, od wczeniejszych do póniejszych dat, za cigi znakowe s sortowane wg ustawie NLS (okrelanych przy tworzeniu bazy danych). Aby odwróci kolejno sortowania naley uy słowa ( ) uytego bezporednio po nazwie kolumny wyspecyfikowanej w klauzuli ORDER BY. SELECT ENAME, JOB, HIREDATE ORDER BY HIREDATE DESC; ENAME JOB HIREDATE ADAMS CLERK 83/01/12 SCOTT ANALYST 82/12/09 MILLER CLERK 82/01/23 JAMES CLERK 81/12/03 FORD ANALYST 81/12/03 KING PRESIDENT 81/11/17 MARTIN SALESMAN 81/09/28 TURNER SALESMAN 81/09/08 CLARK MANAGER 81/06/09 BLAKE MANAGER 81/05/01 JONES MANAGER 81/04/02 WARD SALESMAN 81/02/22 ALLEN SALESMAN 81/02/20 SMITH CLERK 80/12/17

21 Mona sortowa według kilku kolumn, wtedy po słowie kluczowym naley poda nazwy kolumn, po których chcemy sortowa. SELECT ENAME, JOB, DEPTNO ORDER BY DEPTNO, ENAME; ENAME JOB DEPTNO CLARK MANAGER 10 KING PRESIDENT 10 MILLER CLERK 10 ADAMS CLERK 20 FORD ANALYST 20 JONES MANAGER 20 SCOTT ANALYST 20 SMITH CLERK 20 ALLEN SALESMAN 30 BLAKE MANAGER 30 JAMES CLERK 30 MARTIN SALESMAN 30 TURNER SALESMAN 30 WARD SALESMAN 30 Nazwy kolumn, po których sortujemy, musz by wyspecyfikowane w klauzuli SELECT. Sortowanie dotyczy tylko wyniku zapytania wywietlanego na ekranie. Dane w tabelach nie s sortowane. Klauzula WHERE Klauzula WHERE odpowiada operacji selekcji. Klauzula ta specyfikuje kryteria doboru wierszy. Klauzula WHERE, o ile jest, musi wystpowa bezporednio po klauzuli FROM. Operatory w klauzuli WHERE mog by dwojakiego rodzaju: operatory logiczne, operatory SQL. Operatory logiczne Dane znakowe i cigi znaków w klauzuli WHERE musz by ujte w pojedyncze apostrofy. Przy porównywaniu znaków Oracle rozrónia małe i wielkie litery.

22 Aby wybra nazwiska, zawód i numer departamentu dla wszystkich zatrudnionych na stanowisku CLERK, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE JOB='CLERK'; ENAME JOB DEPTNO JAMES CLERK 30 SMITH CLERK 20 ADAMS CLERK 20 MILLER CLERK 10 Aby wybra wszystkich zatrudnionych po r., napiszemy: SELECT ENAME, JOB, DEPTNO WHERE HIREDATE>'82/01/01' ENAME JOB DEPTNO SCOTT ANALYST 20 ADAMS CLERK 20 MILLER CLERK 10 Mona w klauzuli WHERE porównywa dla kadego wiersza wartoci dwóch kolumn. Np. eby wybra wszystkich, którzy otrzymuj wysz prowizj ni pensj, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE COMM>SAL; ENAME JOB DEPTNO MARTIN SALESMAN 30 Operatory SQL Wyróniamy 4 operatory SQL, działajce na wszystkich typach danych: (lista), Operator BETWEEN...AND Operator słuy do sprawdzenia, czy warto znajduje si w podanym przedziale (wliczajc w to krace przedziału). Górna granica musi nastpowa po dolnej.

23 Aby wybra wszystkich, którzy zarabiaj od 1000 do 1500, wliczajc w to tych, którzy zarabiaj 1000 i 1500, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE SAL BETWEEN 1000 AND 1500; ENAME JOB DEPTNO MARTIN SALESMAN 30 TURNER SALESMAN 30 WARD SALESMAN 30 ADAMS CLERK 20 MILLER CLERK 10 Operator IN Operator słuy do sprawdzania, czy dana warto znajduje si na wyspecyfikowanej licie. Aby wybra podwładnych osób o identyfikatorach 7839 i 7902, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE MGR IN (7839,7902); ENAME JOB DEPTNO BLAKE MANAGER 30 CLARK MANAGER 10 JONES MANAGER 20 SMITH CLERK 20 Dane znakowe wystpujce na licie naley uj w pojedyncze apostrofy. Operator LIKE Operator słuy do wybierania wartoci odpowiadajcych podanemu wzorcowi. Wzorzec tworz dwa specjalne symbole: % (znak procent) odpowiada dowolnemu cigowi znaków, _ (znak podkrelenia) odpowiada dokładnie jednemu dowolnemu znakowi. Aby wybra osoby, które jako drug liter w nazwisku maj liter "A", napiszemy: SELECT ENAME, JOB, DEPTNO WHERE ENAME LIKE '_A%'; ENAME JOB DEPTNO MARTIN SALESMAN 30 JAMES CLERK 30 WARD SALESMAN 30

24 Aby wybra osoby, których nazwisko składa si z piciu liter, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE ENAME LIKE ' '; ENAME JOB DEPTNO BLAKE MANAGER 30 CLARK MANAGER 10 JONES MANAGER 20 ALLEN SALESMAN 30 JAMES CLERK 30 SMITH CLERK 20 SCOTT ANALYST 20 ADAMS CLERK 20 Operator IS NULL Operator słuy do wyszukiwania wartoci NULL. Aby wybra dane o osobach, które nie posiadaj szefa, napiszemy: SELECT ENAME, JOB, DEPTNO WHERE MGR IS NULL; ENAME JOB DEPTNO KING PRESIDENT 10 Nie mona napisa w klauzuli WHERE warunku MGR=NULL, gdy wtedy Oracle nie wyszuka adnych wartoci. Operatory negacji Operatory negacji słu do zaprzeczania warunkom w klauzuli WHERE.!= nie jest równy (VAX, UNIX, PC) ^=, _= nie jest równy (IBM) <> nie jest równy (wszystkie systemy operacyjne) kolumna= nie jest równy kolumna> nie jest wikszy nie jest w podanym przedziale nie jest w zbiorze nie jest zgodny z mask nie jest NULL Aby wybra wszystkie osoby, które nie zarabiaj wicej ni 2000, napiszemy:

25 SELECT ENAME, SAL WHERE NOT SAL>2000; ENAME SAL MARTIN 1250 ALLEN 1600 TURNER 1500 JAMES 950 WARD 1250 SMITH 800 ADAMS 1100 MILLER 1300 Aby wybra osoby, które nie otrzymuj prowizji, napiszemy: SELECT ENAME, JOB, COMM WHERE COMM IS NOT NULL ENAME JOB COMM MARTIN SALESMAN 1400 ALLEN SALESMAN 300 TURNER SALESMAN 0 WARD SALESMAN 500 Tworzenie złoonych kryteriów Do budowania warunków złoonych słu operatory (i) oraz (lub). Warunek (X Y) jest prawdziwy wtedy i tylko wtedy, gdy X jest prawdziwy i Y jest prawdziwy. Warunek (X Y) jest prawdziwy wtedy i tylko wtedy, gdy X jest prawdziwy lub Y jest prawdziwy. Operator ma wikszy priorytet ni operator. Aby wybra wszystkich pracowników zatrudnionych na stanowisku 'MANAGER' i zarabiajcych wicej ni 2000, napiszemy: SELECT ENAME, JOB, SAL WHERE SAL>2000 AND JOB='MANAGER' NAME JOB SAL BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975 Poniewa operator ma wyszy priorytet ni operator, to poniszy przykład znajdzie nam wszystkie osoby zatrudnione na stanowisku 'CLERK' oraz te osoby zatrudnione na stanowisku 'MANAGER', których zarobki przekraczaj 1000.

26 SELECT ENAME, JOB, SAL WHERE SAL>1000 AND JOB='MANAGER' OR JOB='CLERK'; ENAME JOB SAL BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975 JAMES CLERK 950 SMITH CLERK 800 ADAMS CLERK 1100 MILLER CLERK 1300 Poniszy przykład, w którym zastosowano nawiasy zmieniajce kolejno wykonywania działa wybierze tylko osoby zatrudnione na stanowisku 'CLERK' lub na stanowisku 'MANAGER', które przy tym zarabiaj wicej ni SELECT ENAME, JOB, SAL WHERE SAL>1000 AND (JOB='MANAGER' OR JOB='CLERK'); ENAME JOB SAL BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975 ADAMS CLERK 1100 MILLER CLERK 1300 Hierarchia operatorów W kadym wyraeniu, o ile nawiasy nie wskazuj inaczej, operacje s wykonywane poczwszy od operatorów o najwyszym priorytecie. Jeli dwa operatory o tym samym priorytecie wystpuj obok siebie, to s one wykonywane od lewej do prawej. 1. =, <>, <=, >=, >,<,,,, Aby zapis był bardziej przejrzysty i w celu uniknicia błdów, zaleca si stosowanie nawiasów. Krótki opis polece właciwych dla SQL*Plus Pod SQL*Plus najczciej uruchamiamy skrypty SQL-owe. Najczciej uywane polecenia:

27 SPOOL ed plik SPOOL OFF DESC CONNECT EXIT wszystkie polecenia SQL do czasu wydania rozkazu SPOOL OFF bd zapisywane do pliku plik uruchomienie skryptu plik edycja pliku plik w domylnym edytorze koczy wysyłanie danych do pliku wywietla opis struktury tabeli zmiana podłczenia do bazy wyjcie z programu

28 wiczenia 1.Wybierz wszystkie dane z tablicy SALGRADE. GRADE LOSAL HISAL Wybierz wszystkie dane z tablicy EMP. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO KING PRESIDENT 81/11/ BLAKE MANAGER /05/ CLARK MANAGER /06/ JONES MANAGER /04/ MARTIN SALESMAN /09/ ALLEN SALESMAN /02/ TURNER SALESMAN /09/ JAMES CLERK /12/ WARD SALESMAN /02/ FORD ANALYST /12/ SMITH CLERK /12/ SCOTT ANALYST /12/ ADAMS CLERK /01/ MILLER CLERK /01/ Wybierz wszystkie dane o pracownikach, których zarobki mieszcz si w przedziale <1000,2000>. ENAME DEPTNO SAL MARTIN ALLEN TURNER WARD ADAMS MILLER Wybierz numery i nazwy departamentów, sortujc według nazw departamentów. DEPTNO DNAME ACCOUNTING 40 OPERATIONS 20 RESEARCH 30 SALES

29 5. Wybierz wszystkie, wzajemnie róne stanowiska pracy. JOB ANALYST CLERK MANAGER PRESIDENT SALESMAN 6. Wybierz dane o pracownikach zatrudnionych w departamentach 10 i 20 w kolejnoci alfabetycznej ich nazwisk. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ADAMS CLERK /01/ CLARK MANAGER /06/ FORD ANALYST /12/ JONES MANAGER /04/ KING PRESIDENT 81/11/ MILLER CLERK /01/ SCOTT ANALYST /12/ SMITH CLERK /12/ Wybierz nazwiska i stanowiska pracy wszystkich pracowników z departamentu 20 zatrudnionych na stanowisku CLERK. ENAME JOB SMITH CLERK ADAMS CLERK 8. Wybierz nastpujce informacje o wszystkich pracownikach, którzy posiadaj szefa. ENAME JOB SAL BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975 MARTIN SALESMAN 1250 ALLEN SALESMAN 1600 TURNER SALESMAN 1500 JAMES CLERK 950 WARD SALESMAN 1250 FORD ANALYST 3000 SMITH CLERK 800 SCOTT ANALYST 3000 ADAMS CLERK 1100 MILLER CLERK Wybierz nazwiska i całkowite, roczne zarobki wszystkich pracowników. ENAME RENUMERATION KING BLAKE CLARK JONES MARTIN ALLEN TURNER 18000

30 JAMES WARD FORD SMITH 9600 SCOTT ADAMS MILLER Wybierz nastpujce dane o tych pracownikach, którzy zostali zatrudnieni w 1982 roku. ENAME DEPTNO HIREDATE SCOTT DEC-82 MILLER JAN Wybierz nazwiska, roczn pensj oraz prowizj tych wszystkich pracowników, których miesiczna pensja przekracza prowizj. Wyniki posortuj według malejcych zarobków. Jeli dwóch lub wicej pracowników ma tak sam pensj, uporzdkuj dane o nich według nazwisk zgodnie z alfabetem. ENAME ANNUAL_SAL COMM ALLEN TURNER WARD Spowoduj wywietlenie nastpujcych wyników. Kto, gdzie, kiedy? KING pracuje na stanowisku PRESIDENT w zespole 10 od 17-NOV-81 BLAKE pracuje na stanowisku MANAGER w zespole 30 od 01-MAY-81 CLARK pracuje na stanowisku MANAGER w zespole 10 od 09-JUN-81 JONES pracuje na stanowisku MANAGER w zespole 20 od 02-APR-81 MARTIN pracuje na stanowisku SALESMAN w zespole 30 od 28-SEP-81 ALLEN pracuje na stanowisku SALESMAN w zespole 30 od 20-FEB-81 TURNER pracuje na stanowisku SALESMAN w zespole 30 od 08-SEP-81 JAMES pracuje na stanowisku CLERK w zespole 30 od 03-DEC-81 WARD pracuje na stanowisku SALESMAN w zespole 30 od 22-FEB-81 FORD pracuje na stanowisku ANALYST w zespole 20 od 03-DEC-81 SMITH pracuje na stanowisku CLERK w zespole 20 od 17-DEC-80 SCOTT pracuje na stanowisku ANALYST w zespole 20 od 09-DEC-82 ADAMS pracuje na stanowisku CLERK w zespole 20 od 12-JAN-83 MILLER pracuje na stanowisku CLERK w zespole 10 od 23-JAN-82

31 Funkcje grupowe

32 Funkcje grupowe słu do działania na grupach wierszy. Wynikiem funkcji grupowej jest pojedyncza warto dla całej grupy. Jeli nie wyspecyfikujemy inaczej, wszystkie wiersze tabeli s traktowane jako jedna grupa. Funkcja AVG ([ ] wyraenie) COUNT ([ ] wyraenie) MAX ([ ] wyraenie) MIN ([ ] wyraenie) STDDEV ([ ] wyraenie) SUM ([ ] wyraenie) VARIANCE ([ ] wyraenie) Wynik funkcji warto rednia wyrae, NULL nie jest uwzgldniane ilo wystpie wartoci wyrae rónych od NULL, gwiazdka (*) uyta w miejscu wyraenia powoduje obliczenia iloci wszystkich wierszy łcznie z duplikatami i wartociami NULL maksymalna warto wyraenia minimalna warto wyraenia odchylenie standardowe wyrae, bez uwzgldniania wartoci NULL suma wartoci wyrae, bez uwzgldniania wartoci NULL wariancja wyrae, bez uwzgldniania wartoci NULL Kwalifikator ogranicza działanie funkcji grupowych do rónych wartoci argumentów. Kwalifikator jest domylny funkcje grupowe nie eliminuj duplikatów. Argumentami funkcji grupowych s liczby, a w przypadku funkcji MAX, MIN i COUNT take daty, znaki i cigi znaków. Wszystkie funkcje grupowe, za wyjtkiem COUNT(*) ignoruj wartoci NULL. Stosowanie funkcji grupowych Aby obliczy redni zarobek w firmie, napiszemy: SELECT AVG(SAL) ; AVG(SAL) ,21429 Zwrómy uwag, e została zwrócona jedna warto dla wszystkich wierszy. Cała firma jest tu traktowana jako jedna grupa.

33 Mona nałoy na to polecenie warunek w klauzuli WHERE, np. aby znale minimalny zarobek na stanowisku 'MANAGER', napiszemy: SELECT MIN(SAL) WHERE JOB='MANAGER'; MIN(SAL) Aby znale, ilu pracowników pracuje w departamencie 10, napiszemy: SELECT COUNT(*) WHERE DEPTNO=10; COUNT(*) Klauzula GROUP BY Do podzielenia wierszy tablicy na grupy uywamy klauzuli GROUP BY. Pojedyncz grup stanowi wszystkie wiersze, dla których wartoci podane w klauzuli GROUP BY s identyczne. Aby obliczy rednie zarobki w kadym departamencie, napiszemy: SELECT DEPTNO, AVG(SAL) GROUP BY DEPTNO; DEPTNO AVG(SAL) , ,66667 Przed grupowaniem moemy wyeliminowa pewne wiersze za pomoc klauzuli WHERE: SELECT JOB, MAX(SAL) WHERE JOB<>'CLERK' GROUP BY JOB; JOB MAX(SAL) ANALYST 3000 MANAGER 2975 PRESIDENT 5000 SALESMAN 1600 W klauzuli GROUP BY mona poda kilka wyrae, wtedy wiersze bd grupowane w mniejszych grupach.

34 Aby obliczy minimalny zarobek w kadym departamencie w podziałem na stanowiska, napiszemy: SELECT DEPTNO, JOB, MIN(SAL) GROUP BY DEPTNO, JOB; DEPTNO JOB MIN(SAL) CLERK MANAGER PRESIDENT ANALYST CLERK MANAGER CLERK MANAGER SALESMAN 1250 Wybierane wyraenia a funkcje grupowe Ponisze polecenie spowoduje obliczenie rednich zarobków w departamentach. Nie bdzie jednak zbyt uyteczne, bo nie bdzie widoczne, która rednia odpowiada któremu departamentowi. SELECT AVG(SAL) GROUP BY DEPTNO; AVG(SAL) , ,66667 Aby poprawi to polecenie, umiemy na licie wyboru klauzuli SELECT take numer departamentu: SELECT DEPTNO, AVG(SAL) GROUP BY DEPTNO; DEPTNO AVG(SAL) , ,66667 Na licie wyboru klauzuli SELECT mog wystpowa tylko i wyłcznie nazwy kolumn, które s przedmiotem działania klauzuli GROUP BY, chyba, e wystpuj one jako argument funkcji grupujcej.

35 Klauzula HAVING Do wybierania interesujcych nas grup słuy klauzula HAVING. W klauzuli HAVING umieszczamy warunek wyraony za pomoc funkcji grupowej. Aby wybra rednie zarobki dla grup zawodowych, gdzie maksymalne zarobki s wysze ni 2000, napiszemy: SELECT JOB, AVG(SAL) GROUP BY JOB HAVING MAX(SAL)>2000; JOB AVG(SAL) ANALYST 3000 MANAGER 2758,33333 PRESIDENT 5000 Klauzula HAVING moe poprzedza klauzul GROUP BY lub odwrotnie. Czasami to samo kryterium mona wyrazi zarówno za pomoc klauzuli HAVING jak i klauzuli WHERE. SELECT JOB, AVG(SAL) HAVING JOB<>'CLERK' GROUP BY JOB; JOB AVG(SAL) ANALYST 3000 MANAGER 2758,33333 PRESIDENT 5000 SALESMAN 1400 lub SELECT JOB, AVG(SAL) WHERE JOB<>'CLERK' GROUP BY JOB; JOB AVG(SAL) ANALYST 3000 MANAGER 2758,33333 PRESIDENT 5000 SALESMAN 1400 W takiej sytuacji bardziej efektywne jest umieszczenie warunku w klauzuli WHERE.

36 Kolejno wystpowania klauzul Wymagany porzdek klauzul jest nastpujcy: 1. SELECT lista wyrae 2. FROM tabela 3. WHERE warunek selekcji wierszy 4. HAVING warunek selekcji grup 5. ORDER BY wyraenia 6. ;

37 wiczenia 1. Znajd minimaln pensje w firmie. MINIMUM Znajd minimaln, maksymaln i redni pensj w firmie. MIN(SAL) MAX(SAL) AVG(SAL) , Oblicz minimaln, maksymaln pensje dla kadego stanowiska pracy. JOB MINIMALNA_PENSJA MAKSYMALNA_PENSJA ANALYST CLERK MANAGER PRESIDENT SALESMAN Oblicz, ilu pracowników jest kierownikami (MANAGER). MANAGERS Znajd rednie miesiczne pensje oraz rednie roczne zarobki dla kadego stanowiska. Uwzgldnij prowizje. JOB AVSAL AVCOMP ANALYST CLERK 1037, MANAGER 2758, PRESIDENT SALESMAN Znajd rónice midzy najwysz i najnisz pensj. DIFFERENCE Znajd departamenty zatrudniajce powyej trzech pracowników. DEPTNO COUNT(*)

38 8. Sprawd, czy wszystkie numery pracowników s rzeczywicie róne (uywajc grupowania). 9. Podaj najnisze pensje wypłacane podwładnym swoich kierowników. Wyeliminuj grupy o minimalnych zarobkach niszych ni Uporzdkuj według pensji. MGR MIN(SAL)

39 Wybieranie danych z wielu tabel

40 Złczenie równociowe Chcemy uzyska nastpujc informacj: dla kadego pracownika znale jego nazwisko, zawód (tabela EMP) i nazw departamentu, w którym pracuje (tabela DEPT). W obu tych tabelach wystpuje kolumna DEPTNO, okrelajca numer departamentu i zawierajca takie same wartoci, mówice o zwizku pomidzy tymi tabelami. Zwizek oparty o relacj równoci nazywamy zwizkiem równociowym (equi-join). Warunek równoci zapisuje si jak zwykły warunek, z tym, e wartoci do porównania s pobierane z rónych tabel. Aby powiza ze sob logicznie tabele EMP i DEPT, napiszemy: SELECT ENAME, JOB, DNAME, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO; ENAME JOB DNAME KING PRESIDENT ACCOUNTING BLAKE MANAGER SALES CLARK MANAGER ACCOUNTING JONES MANAGER RESEARCH MARTIN SALESMAN SALES ALLEN SALESMAN SALES TURNER SALESMAN SALES JAMES CLERK SALES WARD SALESMAN SALES FORD ANALYST RESEARCH SMITH CLERK RESEARCH SCOTT ANALYST RESEARCH ADAMS CLERK RESEARCH MILLER CLERK ACCOUNTING Razem z informacjami pobranymi z tablicy EMP otrzymujemy nazwy departamentów pobrane z tablicy DEPT. Wiersze tabeli EMP s łczone z takimi wierszami tabeli DEPT, dla których warto EMP.DEPTNO pokrywa si z DEPT.DEPTNO. Poprzedzenie nazwy kolumny nazw tabeli jest wymagane tylko wtedy, gdy w tabelach wymienionych w klauzuli FROM wystpuje kolumna o tej samej nazwie (DEPTNO). Podanie samej nazwy kolumny byłoby niejednoznaczne. Chocia warto tego pola dla obu tabeli jest taka sama, to ze wzgldów składniowych wymagane jest wskazanie tabeli z której bdzie pobrana warto. W poniszym przykładzie w klauzuli SELECT jest wymagane odwołanie do tablicy DEPT: SELECT DEPT.DEPTNO, ENAME, JOB, DNAME, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO ORDER BY DEPT.DEPTNO; DEPTNO ENAME JOB DNAME KING PRESIDENT ACCOUNTING 10 CLARK MANAGER ACCOUNTING

41 10 MILLER CLERK ACCOUNTING 20 JONES MANAGER RESEARCH 20 SCOTT ANALYST RESEARCH 20 ADAMS CLERK RESEARCH 20 SMITH CLERK RESEARCH 20 FORD ANALYST RESEARCH 30 BLAKE MANAGER SALES 30 MARTIN SALESMAN SALES 30 ALLEN SALESMAN SALES 30 TURNER SALESMAN SALES 30 JAMES CLERK SALES 30 WARD SALESMAN SALES Aliasy tabel Aliasy, czyli nazwy zastpcze, ułatwiaj pisanie zapyta. Aliasy definiuje si w klauzuli FROM. Obowizuj one jedynie w zapytaniu, w którym s zdefiniowane. Naley uywa aliasów take w klauzuli SELECT, mimo i tekstowo wystpuje ona wczeniej ni klauzula FROM. Przykład uycia aliasów: SELECT D.DEPTNO, ENAME, DNAME E, DEPT D WHERE E.DEPTNO=D.DEPTNO ORDER BY D.DEPTNO; Jeli alias zostanie zdefiniowany dla tabeli, to oryginalnej nazwy tabeli nie wolno ju uywa w tym zapytaniu. Złczenia nierównociowe Złczenia nierównociowe (non-equi-join) nie s oparte o relacj równoci. Zwizek pomidzy wierszami dwóch tabel okrela si poprzez zastosowanie innego operatora ni równo. Na przykład zwizek pomidzy tabelami EMP i SALGRADE jest oparty na nastpujcych zasadach: okrelenie stawki zaszeregowania pracownika polega na wskazaniu do jakiego przedziału (LOSAL, HISAL) nale jego zarobki. Do utworzenia tego warunku zastosujemy operator. SELECT ENAME, SAL, S.GRADE E, SALGRADE S WHERE SAL BETWEEN LOSAL AND HISAL; ENAME SAL GRADE JAMES SMITH ADAMS MARTIN WARD MILLER ALLEN

42 TURNER BLAKE CLARK JONES FORD SCOTT KING Reguły łczenia tabel Ogólna zasada łczenia tabel: Minimalna liczba warunków łczcych = liczba tabel 1

43 wiczenia 1. Wybierz nazwiska oraz nazwy departamentów wszystkich pracowników, w kolejnoci alfabetycznej nazw departamentów. ENAME DNAME KING ACCOUNTING CLARK ACCOUNTING MILLER ACCOUNTING JONES RESEARCH SCOTT RESEARCH ADAMS RESEARCH SMITH RESEARCH FORD RESEARCH BLAKE SALES MARTIN SALES ALLEN SALES TURNER SALES JAMES SALES WARD SALES 2. Wybierz nazwiska wszystkich pracowników wraz z numerami i nazwami departamentów, w których s zatrudnieni. ENAME DEPTNO DNAME KING 10 ACCOUNTING BLAKE 30 SALES CLARK 10 ACCOUNTING JONES 20 RESEARCH MARTIN 30 SALES ALLEN 30 SALES TURNER 30 SALES JAMES 30 SALES WARD 30 SALES FORD 20 RESEARCH SMITH 20 RESEARCH SCOTT 20 RESEARCH ADAMS 20 RESEARCH MILLER 10 ACCOUNTING 3. Dla pracowników o miesicznej pensji 1500 podaj ich nazwiska, miejsca usytuowania ich departamentów oraz nazwy tych departamentów. ENAME LOCATION DNAME KING NEW YORK ACCOUNTING BLAKE CHICAGO SALES CLARK NEW YORK ACCOUNTING JONES DALLAS RESEARCH ALLEN CHICAGO SALES FORD DALLAS RESEARCH SCOTT DALLAS RESEARCH

44 4. Utwórz nastpujc list pracowników z zaszeregowaniem ich do klas zarobkowych. ENAME JOB SAL GRADE JAMES CLERK SMITH CLERK ADAMS CLERK MARTIN SALESMAN WARD SALESMAN MILLER CLERK ALLEN SALESMAN TURNER SALESMAN BLAKE MANAGER CLARK MANAGER JONES MANAGER FORD ANALYST SCOTT ANALYST KING PRESIDENT Wybierz informacj o pracownikach, których zarobki odpowiadaj klasie 3. ENAME JOB SAL GRADE ALLEN SALESMAN TURNER SALESMAN Wybierz pracowników zatrudnionych w Dallas. ENAME SAL LOCATION JONES 2975 DALLAS FORD 3000 DALLAS SMITH 800 DALLAS SCOTT 3000 DALLAS ADAMS 1100 DALLAS 7.Podaj nastpujce dane o wszystkich pracownikach, z wyjtkiem tych, którzy pracuj na stanowisku CLERK. Uporzdkuj je według malejcych zarobków. ENAME JOB SAL GRADE DNAME JAMES CLERK SALES SMITH CLERK RESEARCH ADAMS CLERK RESEARCH MARTIN SALESMAN SALES WARD SALESMAN SALES MILLER CLERK ACCOUNTING ALLEN SALESMAN SALES TURNER SALESMAN SALES BLAKE MANAGER SALES CLARK MANAGER ACCOUNTING JONES MANAGER RESEARCH FORD ANALYST RESEARCH SCOTT ANALYST RESEARCH KING PRESIDENT ACCOUNTING

45 8. Przygotuj nastpujce dane o wszystkich pracownikach osigajcych dochody do $36000 (włcznie) oraz tych, którzy pracuj na stanowisku CLERK. ENAME JOB ANNUAL_SAL DEPTNO DNAME GRADE JAMES CLERK SALES 1 SMITH CLERK RESEARCH 1 ADAMS CLERK RESEARCH 1 MILLER CLERK ACCOUNTING 2 FORD ANALYST RESEARCH 4 SCOTT ANALYST RESEARCH 4 KING PRESIDENT ACCOUNTING 5

46

47 Inne metody łczenia tabel

48 Złczenia zewntrzne Podczas łczenia tabel wiersz w tabeli nie majcy swojego odpowiednika w drugiej tabeli nie zostanie wybrany. Np. w przykładzie łczenia tabeli EMP i DEPT poprzez kolumn DEPNO nie został wybrany wiersz tabeli DEPT, gdzie DEPTNO=40 (departament OPERATIONS), poniewa nikt nie pracuje w tym departamencie. Spróbujmy poprawi to złczenie tak, aby został równie wybrany departament 40. Uczynimy to za pomoc złczenia zewntrznego (outer-join), gdzie wiersz w tabeli DEPT, który nie ma swojego odpowiednika w tabeli EMP zostanie połczony z wierszem tabeli EMP zawierajcym same wartoci NULL (mimo, e wiersz taki w rzeczywistoci nie istnieje). Złczenie zewntrzne oznaczamy znakiem (+) po tej stronie równoci, która dotyczy tabeli z niepełn informacj. SELECT ENAME, D.DEPTNO, DNAME E, DEPT D WHERE E.DEPTNO(+)=D.DEPTNO; ENAME DEPTNO DNAME KING 10 ACCOUNTING CLARK 10 ACCOUNTING MILLER 10 ACCOUNTING JONES 20 RESEARCH SCOTT 20 RESEARCH ADAMS 20 RESEARCH SMITH 20 RESEARCH FORD 20 RESEARCH BLAKE 30 SALES MARTIN 30 SALES ALLEN 30 SALES TURNER 30 SALES JAMES 30 SALES WARD 30 SALES 40 OPERATIONS Operator złczenia zewntrznego moe wystpowa tylko po jednej stronie równoci. Połczenie tabeli samej ze sob Dziki aliasom moemy połczy tabel sam ze sob. Rozpatrzmy nastpujcy przykład chcemy wybra pracowników, którzy zarabiaj mniej od swoich kierowników: SELECT E.ENAME NAZW_PR, E.SAL PENS_PR, M.ENAME NAZW_SZ, M.SAL PENS_SZ E, EMP M WHERE E.MGR=M.EMPNO AND E.SAL<M.SAL;

49 NAZW_PR PENS_PR NAZW_SZ PENS_SZ BLAKE 2850 KING 5000 CLARK 2450 KING 5000 JONES 2975 KING 5000 MARTIN 1250 BLAKE 2850 ALLEN 1600 BLAKE 2850 TURNER 1500 BLAKE 2850 JAMES 950 BLAKE 2850 WARD 1250 BLAKE 2850 SMITH 800 FORD 3000 ADAMS 1100 SCOTT 3000 MILLER 1300 CLARK 2450 Jak wida w klauzuli FROM, odwołalimy si dwukrotnie do tej samej tabeli za pomoc dwóch aliasów E i M. Operatory zbiorowe Operatory zbiorowe uywane s do działa na wynikach dwóch lub wicej zapyta. Wane jest, aby wszystkie zapytania, na których bdziemy uywa operatorów zbiorowych zwracały te samy typy wierszy, np.: (liczba, cig znaków, cig znaków, data). Operator UNION Operator zbiorowy jest uywany do tworzenia sumy dwóch zbiorów wierszy (wyników zapytania ). Aby otrzyma wszystkie, wzajemnie róne wiersze zwracane w wyniku dwóch polece, napiszemy: SELECT JOB WHERE DEPTNO=30 UNION SELECT JOB WHERE DEPTNO=10 JOB CLERK MANAGER PRESIDENT SALESMAN Operacja (podobnie jak inne operatory zbiorowe) powoduje automatyczn eliminacj duplikatów. Aby otrzyma w wyniku wszystkie wiersze z obu tabel naley uy operatora.

50 Operator INTERSECT Operator zbiorowy (przecicie zbiorów) powoduje wybranie wierszy wspólnych dla wyników obu zapyta. SELECT JOB WHERE DEPTNO=30 INTERSECT SELECT JOB WHERE DEPTNO=20 JOB CLERK MANAGER Operator MINUS Operator zbiorowy (rónica zbiorów) powoduje wybranie wierszy zwracanych przez pierwszy rozkaz, nie zwracanych przez rozkaz drugi. SELECT JOB WHERE DEPTNO=30 MINUS SELECT JOB WHERE DEPTNO=20 JOB SALESMAN Zapytanie moe si składa z wicej ni dwóch zapyta połczonych operatorami zbiorowymi. W takim przepadku najwyszy priorytet ma operator, potem operatory i (równe priorytety). W przypadkach wtpliwych najlepiej stosowa nawiasy. Klauzula ORDER BY w zapytaniach z operatorami zbiorowymi W zapytaniach z operatorami zbiorowymi mona uy klauzuli ORDER BY. Odnosi si ona zawsze do wyniku zapytania i moe by uyta tylko raz. Umieszcza si j zawsze na kocu zapytania. Poniewa na listach wyboru polece nazwy mog by róne, w klauzuli ORDER BY specyfikuje si nie nazw kolumny, tylko jej pozycj.

51 SELECT EMPNO, ENAME, SAL UNION SELECT ID, NAME, SALARY _HISTORY ORDER BY 2; Wyniki powyszego zapytania zostan posortowane wg kolumny drugiej, czyli wg nazwisk pracowników.

52 wiczenia 1. Znajd departament w którym nikt nie jest zatrudniony. DEPTNO DNAME OPERATIONS 2. Obok numeru i nazwiska pracownika podaj numer i nazwisko jego kierownika. EMPNO ENAME MGRNO MGR_NAME BLAKE 7839 KING 7782 CLARK 7839 KING 7566 JONES 7839 KING 7654 MARTIN 7698 BLAKE 7499 ALLEN 7698 BLAKE 7844 TURNER 7698 BLAKE 7900 JAMES 7698 BLAKE 7521 WARD 7698 BLAKE 7902 FORD 7566 JONES 7369 SMITH 7902 FORD 7788 SCOTT 7566 JONES 7876 ADAMS 7788 SCOTT 7934 MILLER 7782 CLARK 3. Zmodyfikuj rozwizanie poprzedniego zadania w ten sposób, aby wywietli take informacje o pracowniku KING, który nie posiada szefa. EMPNO ENAME MGRNO MGR_NAME KING 7698 BLAKE 7839 KING 7782 CLARK 7839 KING 7566 JONES 7839 KING 7654 MARTIN 7698 BLAKE 7499 ALLEN 7698 BLAKE 7844 TURNER 7698 BLAKE 7900 JAMES 7698 BLAKE 7521 WARD 7698 BLAKE 7902 FORD 7566 JONES 7369 SMITH 7902 FORD 7788 SCOTT 7566 JONES 7876 ADAMS 7788 SCOTT 7934 MILLER 7782 CLARK 4. Znajd takie stanowisko pracy (JOB), które było obsadzone zarówno w pierwszej połowie 1982 roku jak i w pierwszej połowie 1983 roku. JOB CLERK

53 5. Znajd tych pracowników, którzy zostali zatrudnieniu przed przyjciem do pracy ich kierowników. EMPLOYEE HIREDATE MANAGER HIREDATE BLAKE 01-MAY-81 KING 17-NOV-81 CLARK 09-JUN-81 KING 17-NOV-81 JONES 02-APR-81 KING 17-NOV-81 ALLEN 20-FEB-81 BLAKE 01-MAY-81 WARD 22-FEB-81 BLAKE 01-MAY-81 SMITH 17-DEC-80 FORD 03-DEC Podaj inny sposób rozwizania zadania 1. DEPTNO DNAME OPERATIONS

54

55 Podzapytania

56 Podzapytania zagniedone Podzapytanie to polecenie zagniedone w innym poleceniu. kolumna_1, kolumna_2, tabela kolumna = ( kolumna tabela warunek); Podzapytanie to wewntrzny wykonywany w pierwszej kolejnoci, po to, aby jego wynik został uyty do wykonania zapytania zewntrznego. Podzapytania zwracajce jeden wiersz Podzapytania zwracajce pojedyncz warto mona traktowa jak zwykłe wyraenie. Aby znale pracowników zarabiajcych powyej redniej, moemy postpi nastpujco: 1. znale redni pensj: SELECT AVG(SAL) ; AVG(SAL) , znale pracowników, których pensja jest wysza ni obliczona w poprzednim zapytaniu pensja rednia. SELECT ENAME, JOB, SAL WHERE SAL>(wynik zapytania z punktu 1) Powysze dwa rozkazy mona połczy w jeden: SELECT ENAME, JOB, SAL WHERE SAL>(SELECT AVG(SAL) ); ENAME JOB SAL KING PRESIDENT 5000 BLAKE MANAGER 2850 CLARK MANAGER 2450 JONES MANAGER 2975

57 FORD ANALYST 3000 SCOTT ANALYST 3000 Aby znale wszystkich zatrudnionych na tym samym stanowisku co SMITH, napiszemy: SELECT ENAME, JOB WHERE JOB=(SELECT JOB WHERE ENAME='SMITH'); ENAME JOB JAMES CLERK SMITH CLERK ADAMS CLERK MILLER CLERK Podzapytania zwracajce wiele wierszy Jeli w firmie pracowałoby wicej osób o nazwisku SMITH, to poprzednie podzapytanie nie miałoby sensu. Co wicej zapytanie wewntrzne zamiast pojedynczej wartoci zwróciłoby kolumn wartoci, co prowadziłoby do błdu w zewntrznym zapytaniu. Przekształmy to zapytanie tak, aby wyszukiwało wszystkie osoby zatrudnione na stanowiskach, na których pracuje jakikolwiek SMITH. SELECT ENAME, JOB WHERE JOB IN (SELECT JOB WHERE ENAME='SMITH'); Spróbujmy teraz znale pracowników, których pensja jest na licie najwyszych zarobków w departamentach. SELECT ENAME, SAL, DEPTNO WHERE SAL IN (SELECT MAX(SAL) GROUP BY DEPTNO); ENAME SAL DEPTNO BLAKE FORD SCOTT KING Rozwamy teraz sytuacj, e w firmie pracuje osoba, której zarobki pokrywaj si z najwikszym zarobkiem w danym departamencie, ona jednak pracuje w innym departamencie. Powysze zapytanie wypisze tak osob, jako e nie został nałoony warunek, aby osoba pracowała w departamencie, z którego pochodzi najwysza pensja.

58 Warunek, w którym porównujemy wiele wartoci Spróbujmy przerobi powysze zapytanie: SELECT ENAME, SAL, DEPTNO WHERE (SAL,DEPTNO) IN (SELECT MAX(SAL), DEPTNO GROUP BY DEPTNO); ENAME SAL DEPTNO BLAKE FORD SCOTT KING Powysze zapytanie wybierze nam osoby, które zarabiaj najwicej w swoich działach został nałoony take warunek, aby osoba wybierana pracowała w dziale, do którego naley najwysza pensja. Kolumny na licie wyboru wewntrznego (w klauzuli WHERE lub HAVING) musz wystpowa w kolejnoci i typach zgodnych z kolejnoci i typami wystpujcymi w klauzuli SELECT zewntrznego polecenia. Operatory ALL i ANY Operatory i mona stosowa w podzapytaniach zwracajcych wicej ni jeden wiersz. Podaje si je w klauzulach WHERE i HAVING razem z operatorami porównywania. Operator wiersz zostanie wybrany, jeli wyraenie jest zgodne co najmniej z jedn wartoci wybran w podzapytaniu. SELECT ENAME, SAL, DEPTNO WHERE SAL > ANY (SELECT DISTINCT SAL WHERE DEPTNO=10); ENAME SAL DEPTNO KING BLAKE CLARK JONES ALLEN TURNER FORD SCOTT Najniszy zarobek w departamencie 10 wynosi Zapytanie wybierze wszystkich, którzy zarabiaj wicej ni 1300.

59 Aby nie były wybierane wielokrotnie te same zarobki (3000 jest wiksze i od 1300 i od 2450 zostałoby wybrane dwukrotnie), czsto stosuje si razem z operatorami i słowo kluczowe. SELECT ENAME, SAL, DEPTNO WHERE DEPTNO=10; ENAME SAL DEPTNO KING CLARK MILLER Operator warunek musi by spełniony przez wszystkie wartoci wybrane w podzapytaniu. Wybierzmy wszystkich pracowników, którzy zarabiaj wicej ni ktokolwiek w departamencie 30: SELECT ENAME, SAL, DEPTNO WHERE SAL > ALL (SELECT DISTINCT SAL WHERE DEPTNO=30) ORDER BY SAL; ENAME SAL DEPTNO JONES FORD SCOTT KING Najwyszy zarobek w departamencie 30 wynosi Zapytanie wybierze wszystkich, którzy zarabiaj wicej ni Klauzula HAVING z zagniedonymi zapytaniami Podzapytania mog wystpowa równie w klauzuli HAVING (przypominamy klauzula HAVING odnosi si do grup wierszy). Nie istnieje limit na liczb poziomów zagniedania podzapyta. Aby wybra zawody, w których rednia płaca jest wysza ni rednia płaca w zawodzie 'MANAGER', napiszemy: SELECT JOB, AVG(SAL) HAVING AVG(SAL) > (SELECT AVG(SAL) WHERE JOB='MANAGER') GROUP BY JOB; JOB AVG(SAL) ANALYST 3000 PRESIDENT 5000

60 Aby wybra stanowisko, na którym s najnisze rednie zarobki, napiszemy: SELECT JOB, AVG(SAL) HAVING AVG(SAL) = (SELECT MIN(AVG(SAL)) GROUP BY JOB) GROUP BY JOB; JOB AVG(SAL) CLERK 1037,5 Sortowanie danych w podzapytaniu W podzapytaniu nie moe wystpowa klauzula ORDER BY. Klauzula ORDER BY moe wystpi tylko raz dla całego zapytania i wtedy musi pojawi si jako ostatnia. Zapytania skorelowane Blok skorelowany jest szczególnym przypadkiem zagniedonego zapytania. Zwykłe podzapytanie jest wykonywane raz, na samym pocztku, a do jego wyników odwołuje si zapytanie zewntrzne. W przypadku zapytania skorelowanego podzapytanie jest wykonywane dla kadego wiersza z zapytania zewntrznego. Aby znale osoby, które zarabiaj mniej ni wynosi rednia w ich zawodach, napiszemy: SELECT ENAME, SAL, DEPTNO, AVG(SAL) E WHERE SAL < (SELECT AVG(SAL) WHERE JOB=E.JOB) ORDER BY JOB; ENAME SAL DEPTNO JAMES SMITH CLARK MARTIN WARD Operator EXIST W przypadku zapyta skorelowanych czasami interesuje nas tylko, czy wiersz spełniajcy podane warunki istnieje. Wtedy stosujemy operator.

61 Aby za pomoc operatora znale pracowników, którzy maj podwładnych, napiszemy: SELECT ENAME, SAL, DEPTNO E WHERE EXISTS (SELECT EMPNO WHERE EMP.MGR=E.EMPNO) ORDER BY DEPTNO; ENAME SAL DEPTNO KING CLARK JONES SCOTT FORD BLAKE Aby znale departament, w którym nikt nie pracuje: SELECT DNAME, DEPTNO FROM DEPT D WHERE NOT EXISTS (SELECT 1 E WHERE E.DEPTNO=D.DEPTNO) ORDER BY DEPTNO; DNAME DEPTNO OPERATIONS 40 Zauwamy, e zapytanie wewntrzne nie musi zwraca adnej wartoci z tabeli, istotne jest, czy w ogóle zostanie zwrócony wiersz, a nie jego zawarto.

62 wiczenia 1. Znajd pracowników zarabiajcych maksymalna pensj na ich stanowiskach pracy. Uporzdkuj ich według malejcych zarobków. JOB ENAME SAL PRESIDENT KING 5000 ANALYST FORD 3000 ANALYST SCOTT 3000 MANAGER JONES 2975 SALESMAN ALLEN 1600 CLERK MILLER Znajd pracowników zarabiajcych minimaln pensj na ich stanowiskach pracy. Uporzdkuj ich według wzrastajcych pensji. JOB ENAME SAL CLERK SMITH 800 SALESMAN MARTIN 1250 SALESMAN WARD 1250 MANAGER CLARK 2450 ANALYST FORD 3000 ANALYST SCOTT 3000 PRESIDENT KING Wska dla kadego departamentu ostatnio zatrudnionych pracowników. Uporzdkuj według dat zatrudnienia. DEPTNO ENAME HIREDATE JAMES 03-DEC MILLER 23-JAN ADAMS 12-JAN Podaj nastpujce dane o pracownikach, których zarobki przekraczaj redni ich departamentów. Uporzdkuj według numerów departamentów. ENAME SALARY DEPTNO KING JONES FORD SCOTT BLAKE ALLEN Stosujc podzapytanie, znajd departamenty, w których nikt nie pracuje. DEPTNO DNAME OPERATIONS

Materiały szkoleniowe. Podstawy języka SQL

Materiały szkoleniowe. Podstawy języka SQL Materiały szkoleniowe Podstawy języka SQL Spis treści Zawartość tabel wykorzystywanych na kursie... 4 Zawartość tabeli DEPT...5 Zawartość tabeli EMP...5 Zawartość tabeli SALGRADE...5 Budowa tabel wykorzystywanych

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B Plan wykáadu Bazy danych Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. Maágorzata Krtowska Wydziaá Informatyki Politechnika Biaáostocka Deficja zale*noci funkcyjnych Klucze relacji Reguáy dotyczce

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

TECHNOLOGIE BAZ DANYCH

TECHNOLOGIE BAZ DANYCH TECHNOLOGIE BAZ DANYCH WYKŁAD 3 Diagramy związków encji. Funkcje agregujące. (Wybrane materiały) Dr inż. E. Busłowska Copyright 2014-2015 E. Busłowska. 1 DIAGRAMY ZWIĄZKÓW ENCJI (DZE) Metoda graficznej

Bardziej szczegółowo

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta Wstp (Structured( Query Language) strukturalny jzyk zapyta Podstawowe cechy jzyka : - zapytania wyszukiwanie danych w bazie danych, - operowanie danymi wstawianie, modyfikacja, usuwanie danych z bazy danych,

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Przykłady wyrae uywanych w kwerendach i filtrach

Przykłady wyrae uywanych w kwerendach i filtrach Przykłady wyrae uywanych w kwerendach i filtrach Przykłady kryteriów stosowanych przy pobieraniu rekordów Zakresy wartoci (>, =, 234 Dla pola Ilo; wywietla liczby wiksze

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł! Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

Bardziej szczegółowo

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

sqlplus [ użytkownik [ / hasło ] ]

sqlplus [ użytkownik [ / hasło ] ] Uruchomienie SQL*Plus: sqlplus [ użytkownik [ / hasło ] ] Zasady wpisywania komend PL/SQL: komendy mogą być wieloliniowe nie można skracać słów kluczowych można oddzielać słowa spacjami lub tabulacją słowa

Bardziej szczegółowo

Standard SQL/XML. Wprowadzenie do XQuery

Standard SQL/XML. Wprowadzenie do XQuery Standard SQL/XML Wprowadzenie do XQuery Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Języki zapytań dla XML Wraz z pojawieniem się standardu XML pojawiały się również

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Bazy danych 2. Wykład 4 Structured Query Language (SQL) Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)

Bardziej szczegółowo

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy: wiczenie 2 Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Cel wiczenia: Zapoznanie si ze sposobami konstruowania tabel, powiza pomidzy tabelami oraz metodami manipulowania

Bardziej szczegółowo

Struktura bazy danych

Struktura bazy danych Bazy danych - MySQL Warunki zaliczenia tych zajęć Rozwiązania zadań domowych proszę zapisać do pliku o nazwie Bazy danych i wysłać do mnie jako załącznik. Ostateczny termin: niedziela, 9.06, godzina 24:00.

Bardziej szczegółowo

Typy bazy danych Textract

Typy bazy danych Textract Typy bazy danych Typy bazy danych bazy tekstowe, Textract, http://www.textract.com - bazy tekstowe, np. archiwum gazety, dla setek gigabajtów, szybkie wyszukiwanie i indeksacja informacji bazy danych bez

Bardziej szczegółowo

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi 1.Wymagania techniczne 1.1. Wymagania sprztowe - minimalne : komputer PC Intel

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Zadania z SQLa (MS SQL Server)

Zadania z SQLa (MS SQL Server) Zadania z SQLa (MS SQL Server) Struktura testowej bazy danych (diagram ERD): opracował dr Robert Fidytek SPIS TYPÓW ZADAŃ 1 Projekcja wyników zapytań (SELECT FROM )... 3 2 Sortowanie wyników zapytań (ORDER

Bardziej szczegółowo

Lista zadań nr 1. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.

Lista zadań nr 1. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000. Lista zadań nr 1 Zapytania SQL, SELECT z klauzulą WHERE i ORDER BY 1. Wyświetlić zawartość tablicy z pracownikami (EMPLOYEE). 2. Wyświetlić nazwisko i imię LAST NAME, F IRST NAME dla każdego pracownika.

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zastosowanie programu Microsoft Excel do analizy wyników nauczania Grayna Napieralska Zastosowanie programu Microsoft Excel do analizy wyników nauczania Koniecznym i bardzo wanym elementem pracy dydaktycznej nauczyciela jest badanie wyników nauczania. Prawidłow analiz

Bardziej szczegółowo

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych Zaliczenie Bazy danych Wykáad 1: Wprowadzenie do baz danych Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne bazy danych, SQL, indeksy, architektura baz danych Pracownia specjalistyczna:

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Kwerendy (zapytania) wybierające

Kwerendy (zapytania) wybierające Access 2. Kwerendy (zapytania) wybierające Kwerendy wybierające (nazywane też zapytaniami wybierającymi) są podstawowymi obiektami w MS Access służącymi do wyszukiwania danych w tabelach. W wyniku uruchomienia

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

geometry a w przypadku istnienia notki na marginesie: 1 z 5

geometry a w przypadku istnienia notki na marginesie: 1 z 5 1 z 5 geometry Pakiet słuy do okrelenia parametrów strony, podobnie jak vmargin.sty, ale w sposób bardziej intuicyjny. Parametry moemy okrela na dwa sposoby: okrelc je w polu opcji przy wywołaniu pakiety:

Bardziej szczegółowo

Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych:

Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych: 1 / 9 PODSTAWY BAZ DANYCH 2 / 9 PODSTAWY BAZ DANYCH Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych: Jednorodna tabela jako ródło

Bardziej szczegółowo

Terminologia baz danych

Terminologia baz danych Terminologia baz danych Terminologia Banki danych - bazy danych w których przechowuje si informacj historyczne. Hurtownie danych (data warehouse): zweryfikowane dane z rónych baz, przydatne do analiz i

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

ELEMENT SYSTEMU BIBI.NET. Instrukcja Obsługi

ELEMENT SYSTEMU BIBI.NET. Instrukcja Obsługi ELEMENT SYSTEMU BIBI.NET Instrukcja Obsługi Copyright 2005 by All rights reserved Wszelkie prawa zastrzeone!"# $%%%&%'(%)* +(+%'(%)* Wszystkie nazwy i znaki towarowe uyte w niniejszej publikacji s własnoci

Bardziej szczegółowo

Program Sprzeda wersja 2011 Korekty rabatowe

Program Sprzeda wersja 2011 Korekty rabatowe Autor: Jacek Bielecki Ostatnia zmiana: 14 marca 2011 Wersja: 2011 Spis treci Program Sprzeda wersja 2011 Korekty rabatowe PROGRAM SPRZEDA WERSJA 2011 KOREKTY RABATOWE... 1 Spis treci... 1 Aktywacja funkcjonalnoci...

Bardziej szczegółowo

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania Plan wykładu 2 BAZY DANYCH Wykład 4: Diagramy związków encji (ERD). SQL podzapytania. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Diagramy związków encji elementy ERD liczności związków

Bardziej szczegółowo

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

Bardziej szczegółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi dodatku InsERT GT Smart Documents Instrukcja obsługi dodatku InsERT GT Smart Documents InsERT, grudzie 2003 http://www.insert.com.pl/office2003 InsERT GT Smart Documents to przygotowany przez firm InsERT specjalny dodatek, umoliwiajcy

Bardziej szczegółowo

SQL. Receptury IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG

SQL. Receptury IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG SQL. Receptury Autor: Anthony Molinaro T³umaczenie: Miko³aj Szczepaniak ISBN: 83-246-0450-2 Tytu³ orygina³u:

Bardziej szczegółowo

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25 MS Excel 2007 Kurs zaawansowany Obsługa baz danych prowadzi: Dr inż. Tomasz Bartuś Kraków: 2008 04 25 Bazy danych Microsoft Excel 2007 udostępnia szereg funkcji i mechanizmów obsługi baz danych (zwanych

Bardziej szczegółowo

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2 - 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa

Bardziej szczegółowo

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Oracle 12c: Nowości w SQL i PL/SQL

Oracle 12c: Nowości w SQL i PL/SQL Oracle 12c: Nowości w SQL i PL/SQL Marek Wojciechowski Politechnika Poznańska, PLOUG Nowe możliwości w klauzuli DEFAULT Odwołania do sekwencji Obsługa jawnie wstawianych wartości NULL Wartości na poziomie

Bardziej szczegółowo

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji O autorze Wprowadzenie Rozdział 1. Relacyjne bazy danych i SQL Język i logika Definicja SQL Microsoft SQL Server, Oracle i MySQL Inne bazy danych Relacyjne bazy danych Klucze główne i obce Typy danych

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Konspekt zajęć dotyczących kwerend

Konspekt zajęć dotyczących kwerend Konspekt zajęć dotyczących kwerend Kwerendy służą wyszukiwaniu danych w sposób wiele elastyczniejszy niż przy użyciu samych tylko tabel. Można powiedzieć, że są one specjalną nakładką na tabele pozwalającą

Bardziej szczegółowo

- 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę

- 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę - 307 W Oracle instrukcja SELECT Ename FROM Emp WHERE Empno=4567: [ ] zakłada blokadę do odczytu dla jednego wiersza tabeli Emp [ ] zakłada blokadę do odczytu dla wszystkich wierszy tabeli Emp [ ] zakładę

Bardziej szczegółowo

PROWIZJE Menad er Schematy rozliczeniowe

PROWIZJE Menad er Schematy rozliczeniowe W nowej wersji systemu pojawił si specjalny moduł dla menaderów przychodni. Na razie jest to rozwizanie pilotaowe i udostpniono w nim jedn funkcj, która zostanie przybliona w niniejszym biuletynie. Docelowo

Bardziej szczegółowo

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji Plan wykładu Bazy danych Wykład 12: Optymalizacja zapytań. Język DDL, DML (cd) Etapy przetwarzania zapytania Implementacja wyrażeń algebry relacji Reguły heurystyczne optymalizacji zapytań Kosztowa optymalizacja

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

Bazy danych wykład trzeci. Konrad Zdanowski

Bazy danych wykład trzeci. Konrad Zdanowski SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where ; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ (R1 Rn)) SQL semantyka select R.

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Klonowanie MAC adresu oraz TTL

Klonowanie MAC adresu oraz TTL 1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo

Bardziej szczegółowo

SUPLEMENT SM-BOSS WERSJA 6.15

SUPLEMENT SM-BOSS WERSJA 6.15 SUPLEMENT SM-BOSS WERSJA 6.15 Spis treci Wstp...2 Pierwsza czynno...3 Szybka zmiana stawek VAT, nazwy i PKWiU dla produktów...3 Zamiana PKWiU w tabeli PKWiU oraz w Kartotece Produktów...4 VAT na fakturach

Bardziej szczegółowo

Wprowadzenie do kompilatorów

Wprowadzenie do kompilatorów Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek

Bardziej szczegółowo

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Windows Host Script WSH udostpnia dwa tryby uruchamiania skryptów: tekstowy i graficzny. O sposobie przetwarzania programu moe zadecydowa powłoka systemowa

Bardziej szczegółowo

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych, Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli. SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania

Bardziej szczegółowo

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego 2. Otwórz bazę (F:\M5KW) 3. Zapoznaj się ze strukturą bazy (tabele, relacje) 4. Wykorzystując

Bardziej szczegółowo

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu Sterowanie procedurami programu "Rejestr zakupu" odbywa si poprzez wybór jednej z kilku proponowanych akurat na ekranie moliwoci. U dołu ekranu wypisywany jest komunikat bliej objaniajcy wybran aktualnie

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Przetwarzanie dokumentów XML w Oracle10g: XML DB

Przetwarzanie dokumentów XML w Oracle10g: XML DB Przetwarzanie dokumentów XML w Oracle10g: XML DB Maciej Zakrzewicz Politechnika Poznaska Streszczenie System zarzdzania baz danych Oracle10g posiada szereg wbudowanych mechanizmów, słucych do przechowywania,

Bardziej szczegółowo

Ćwiczenie 3 funkcje agregujące

Ćwiczenie 3 funkcje agregujące Ćwiczenie 3 funkcje agregujące Funkcje agregujące, klauzule GROUP BY, HAVING Ćwiczenie 3 funkcje agregujące Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL

Bardziej szczegółowo

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik,

Bardziej szczegółowo

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);

CREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL); 1. Zaªó» tabel logika o trzech atrybutach p,q,r typu BOOLEAN. Uzupeªnij j wszystkimi mo»liwymi waluacjami logiki SQL (oczywi±cie nie rób tego r cznie). Nast pnie przy u»yciu komend SQLa sprawd¹, dla jakich

Bardziej szczegółowo

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Uzupełnij pola tabeli zgodnie z przykładem poniżej, 1. Wykonaj bazę danych biblioteki szkolnej, Otwórz MS Access a następnie z menu plik wybierz przycisk nowy, w oknie nowy plik wybieramy pusta baza danych nadaj jej nazwę Biblioteka i wybierz miejsce w

Bardziej szczegółowo

Symfonia Produkcja. Kreator raportów. Wersja 2013

Symfonia Produkcja. Kreator raportów. Wersja 2013 Symfonia Produkcja Kreator raportów Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy Adobe

Bardziej szczegółowo

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu Zbiór pytań nr 5 1 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu connect athos/musketeer grant select,insert,update,delete on athos.services to porthos with grant option; grant

Bardziej szczegółowo