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. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania Definicja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

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

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) W Bazie występują trzy tabele, o następujących schematach: EMP {empno(pk), ename, deptno(fk), mgr(fk), sal, comm, hiredate, job} DEPT {deptno(pk), dname,

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one.

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one. Plan wykáadu Bazy danych Wykáad 6: Postaci normalne. SQL - zapytania záo*one. Maágorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Zale*noci wielowartociowe Czwarta postaü normalna

Bardziej szczegółowo

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd Plan wykładu Bazy danych Wykład 8: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogociowe rzutowanie selekcja przemianowanie Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL Plan wykładu Bazy danych Wykład 3: Relacyjny model danych. SQL Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - podstawy Małgorzata Krtowska Katedra Oprogramowania e-mail:

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

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

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

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

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

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

- 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

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

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

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

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

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

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

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

3. Podzapytania, łączenie tabel i zapytań

3. Podzapytania, łączenie tabel i zapytań 3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,

Bardziej szczegółowo

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz Bazy danych laboratorium dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz G.Bazydlo@iie.uz.zgora.pl, www.uz.zgora.pl/~gbazydlo Lista zadań nr 1 Zagadnienia Poznanie narzędzia DBeaver. Konfiguracja połączenia

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

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. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Plan wykładu Bazy danych Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Proces dobrego projektowania

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

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

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

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze Plan wykładu Bazy danych Wykład 9: Programowanie aplikacji baz danych po stronie serwera Sekwencje Wyzwalacze Bloki anonimowe Funkcje Procedury Pakiety Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

PODZAPYTANIE (SUBSELECT)

PODZAPYTANIE (SUBSELECT) 2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone

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

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

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra

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

Laboratorium Bazy danych SQL 3 1

Laboratorium Bazy danych SQL 3 1 Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)

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

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Dane z kilku tabel Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Łączenie kilku selectów w jeden posortowany wynik 1. UNION suma bez powtórzeń. Powoduje,

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

Funkcje analityczne SQL CUBE (1)

Funkcje analityczne SQL CUBE (1) Funkcje analityczne SQL CUBE (1) JOB DEPTNO SUM(SAL) --------- ---------- ---------- 29025 10 8750 20 10875 30 9400 CLERK 4150 CLERK 10 1300 CLERK 20 1900 CLERK 30 950 ANALYST 6000 ANALYST 20 6000 MANAGER

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

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania Plan wykładu Bazy danych Wykład 12: Optymalizacja zapyta Etapy przetwarzanie zapytania Implementacja wyrae algebry relacji Reguły heurystyczne optymalizacji zapyta Kosztowa optymalizacja zapyta Małgorzata

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Funkcje analityczne SQL CUBE (1) Hurtownie danych - przegląd technologii Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel JOB DEPTNO SUM(SAL) 8750

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

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania RELACYJNE BAZY DANYCH TEORIA Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania W kadej bazie danych mona wyodrbni dwa składniki: - model danych,

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem. Typy numeryczne Typy daty i czasu. W celu uniknięcia niejasności czy zapis 11-08-2005 oznacza - 11 sierpnia 2005, czy może 8 listopada 2005, należy ustalić sposób interpretacji daty (europejski lub amerykański).

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

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

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

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

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

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

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny Schemat bazy danych, wczytanej z pliku create_tables.sql Relacji między tabelami klucze obce Klucz obcy jako ograniczenie dla kolumny customer_id INTEGER NOT NULL REFERENCES customer(customer_id), CONSTRAINT

Bardziej szczegółowo

SQL - Structured Query Language. strukturalny język zapytań

SQL - Structured Query Language. strukturalny język zapytań SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

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

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

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

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

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

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

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

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

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

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD Plan wykáadu Wykáad 2: Diagramy zwizków encji (ERD) SQL - áczenie tabel, zapytania grupujce Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory sáabych encji Maágorzata Krtowska,

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

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

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

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

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

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - funkcje Deficja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

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

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI Wpisuje zdajcy przed rozpoczciem pracy PESEL ZDAJCEGO Miejsce na nalepk z kodem szkoły PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI Arkusz II Instrukcja dla zdajcego Czas pracy 150 minut 1. Prosz sprawdzi, czy

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

SQL praca z tabelami 4. Wykład 7

SQL praca z tabelami 4. Wykład 7 SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać

Bardziej szczegółowo

Podstawy języka SQL cz. 2

Podstawy języka SQL cz. 2 Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.

Bardziej szczegółowo

Grupowanie i funkcje agregacji

Grupowanie i funkcje agregacji Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

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

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

Instrukcja obsługi programu Pilot PS 5rc

Instrukcja obsługi programu Pilot PS 5rc Instrukcja obsługi programu Pilot PS 5rc Spis treci 1.Wprowadzenie....3 2. Wymagania....3 3. Instalacja oprogramowania...3 4. Uruchomienie Programu...5 4.1. Menu główne...5 4.2. Zakładki...6 5. Praca z

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