1 / 62

„Relacyjne Bazy Danych (Oracle) ”

„Relacyjne Bazy Danych (Oracle) ” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt.

Download Presentation

„Relacyjne Bazy Danych (Oracle) ”

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

E N D

Presentation Transcript


  1. „Relacyjne Bazy Danych (Oracle)” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl

  2. SELECT Projection Selection Table 1 Table 1 Join Table 2 Table 1

  3. SELECT Kwerenda SELECT służy do pobierania informacji z bazy danych spełniających podane kryteria SELECT ename,sal FROM emp ename,sal – lista kolumn * - wszystkie kolumny emp – nazwa tabeli

  4. Kwerendy Kwerenda SELECT

  5. Ograniczanie wierszy SELECT *FROM ProductWHERE category=‘Gadgets’

  6. Ograniczanie wierszy SELECT PName, Price, ManufacturerFROM ProductWHERE Price > 100

  7. Ograniczanie wierszy Klauzula WHERE pozwala na ograniczanie wyników zapytania do wierszy spełniających kryteria SELECT * FROM emp WHERE empno>7700

  8. Ograniczanie wierszy Klauzula WHERE Klauzulę umieszczamy po klauzuli FROM Warunek w klauzuli WHERE może składać się z wielu części SELECT * FROM emp WHERE empno>7700 AND empno<7900

  9. Wyrażenia arytmetyczne SELECT last_name, salary, salary + 300FROM employees;

  10. Wyrażenia arytmetyczne SELECT last_name, 12*salary*commission_pctFROM employees;

  11. Ograniczanie wierszy Warunki można grupować używając nawiasów SELECT * FROM emp WHERE (empno>7700 AND empno<7900) OR empno=7934;

  12. Ograniczanie wierszy Podstawowe operatory algebraiczne „=” równy „>” większy niż „<” mniejszy niż „>=” większy bądź równy „<=” mniejszy bądź równy „<>” różny

  13. Ograniczanie wierszy Inne operatory BETWEEN – analogicznie do „>” AND „<” SELECT * FROM emp WHERE sal BETWEEN 1500 AND 2000

  14. Ograniczanie wierszy Operator IN SELECT * FROM emp WHERE sal IN (1500,1600,3000,950);

  15. Ograniczanie wierszy Operator LIKE Pozwala sprawdzić wzorzec wartości: „%” oznacza dowolny ciąg znaków, „_” oznacza jeden znak SELECT * FROM emp WHERE ename LIKE '%R'

  16. Ograniczanie wierszy Operator LIKE – przykłady ename like '%ER' ename LIKE '%E%' ename LIKE '%E_'

  17. Ograniczanie wierszy Warunek wykorzystany po klauzuli WHERE jest ewaluowany przez bazę danych, zwrócone zostaną wiersze, dla których dany warunek jest prawdziwy Warunek nie musi zawierać nazw kolumn np: SELECT * FROM emp WHERE 1=1 Warunek zawsze prawdziwy

  18. Tabela DUAL DUAL – metatabela w bazie danych Oracle służąca do wykonywania prostych operacji SELECT 2+2 FROM DUAL

  19. Wartość specjalna NULL NULL w danej kolumnie oznacza brak wartości Wartość NULL nie oznacza ani pustego ciągu znaków dla kolumn tekstowych ani wartości zero dla kolumn liczbowych NULL <> NULL

  20. Ograniczanie kolumn Listę zwróconych kolumn można ograniczyć wpisując odpowiednie nazwy po słowie kluczowym SELECT SELECT ename,job,sal FROM emp WHERE empno>7700;

  21. Ograniczanie wyników Operatory logiczne – pozwalają na łączenie wyników wielu warunków AND – oba warunki muszą być spełnione OR – jeden z warunków musi być spełniony NOT – operator jednoargumentowy – negowanie listy wyników

  22. SELECT DISTINCT Klauzula DISTINCT pozwala na wybranie tylko wierszy zawierających unikatową wartość jednej lub więcej kolumn SELECT DISTINCT job FROM emp;

  23. SELECT DISTINCT Klauzula DISTINCT zastosowana do wielu kolumn SELECT DISTINCT job,sal FROM emp;

  24. Użycie operatora IS NULL SELECT last_name, manager_id FROM employees WHERE manager_id IS NULL;

  25. Aliasy SELECT last_name "Name" , salary*12 AS "Annual Salary”FROM employees;

  26. Funkcje Funkcje pozwalają na zmianę sposobu prezentacji wyniku, lub wykonanie operacji na jednej lub więcej kolumnach przed prezentacją wyniku SELECT ename, LENGTH(job) FROM emp;

  27. Funkcje Funkcje można stosować do kolumn, większość funkcji występuje tylko dla kolumn danego typu Wywołanie funkcji na typie danych, dla którego nie została ona określona powoduje błąd

  28. Funkcje Wybrane funkcje zdefiniowane dla ciągów znaków CONCAT (wartość1, wartość2) SUBSTR(wartość, początek, koniec) LENGTH(wartość) LPAD(wartość,długość,znak)/RPAD(wartość,długość,znak) UPPER(wartość)/LOWER(wartość) REVERSE(wartość) INITCAP(wartość)

  29. Funkcje SELECT last_name ||' is a '||job_id AS "Employee Details”FROM employees;

  30. Funkcje Wybrane funkcje dla wartości liczbowych ROUND(wartość,liczba_znaków) TRUNC(wartość,liczba_znaków) MOD(wartość,dzielnik) SIN(wartość)/COS(wartość)/SINH(wartość)/COSH(wartość) POWER(wartość,potega)

  31. Funkcje round(125.315) = 125 round(125.315, 0) = 125 round(125.315, 1) =125.3 round(125.315, 2) =125.32 round(125.315, 3) =125.315 round(-125.315, 2) =-125.32

  32. Funkcje Wykorzystanie funkcji przy klauzuli WHERE SELECT * FROM emp WHERE MOD(sal,200)=0;

  33. Sortowanie wyników Klauzula ORDER BY Klauzulę umieszczamy po klauzuli WHERE

  34. Sortowanie wyników Można wykorzystać kilka kolumn do sortowania Można sortować rosnąco lub malejąco (ASC/DESC) SELECT * FROM emp WHERE sal>2000 ORDER BY sal ASC,ename DESC;

  35. Agregacje Agregowanie wyników pozwala na analizę wybranych kolumn z tabeli oraz zaprezentowanie wyniku danej funkcji w postaci jednej kolumny Proste agregacje pozwalają np. na: Obliczenie średniej wartości danej kolumny Obliczenie wartości minimalnej/maksymalnej Policzenie liczby wierszy Funkcje grupujące ignorująwartości null w kolumnie.

  36. Agregacje

  37. COUNT(*) Agregacja COUNT(*) zwraca liczbę wierszy pasujących do danego zapytania Agregacja ta może skanować daną tabelę, bądź indeks, jej wykorzystanie na dużych tabelach może być powolne SELECT COUNT(*) FROM emp WHERE sal>2000;

  38. MIN(), MAX(), AVG() Korzystając z agregacji MIN,MAX lub AVG można policzyć minimalną, maksymalną bądź średnią wartość danej kolumny pasującej do zapytania

  39. Grupowanie danych

  40. Grupowanie danych SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER BY column];

  41. Grupowanie danych SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ;

  42. Grupowanie danych SELECT department_id dept_id, job_id, AVG(salary) FROM employees GROUP BY department_id, job_id ;

  43. Grupowanie danych Działanie HAVING odrzuca grup niespełniające warunku 1. Wiersze są grupowane. 2. Funkcja grupująca jest zastosowana. Grupy spełniające warunek z klauzuli HAVING są wyświetlane. SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column];

  44. Grupowanie danych SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ;

  45. Funkcja NVL Konwertuje null do wartości podanej Dane mogą być liczbami, tekstem lub datami. NVL(commission_pct,0) NVL(job_id,‘Bez pracy')

  46. Funkcja NVL SELECT ename, sal, NVL(comm, 0), (sal*12) + (sal*12*NVL(comm, 0)) AN_SALFROM emp;

  47. Użycie wyrażenia CASE Dają możliwość użycia konstrukcji typu IF-THEN-ELSE w poleceniu SQL CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHENcomparison_exprnTHENreturn_exprn ELSE else_expr] END

  48. Użycie wyrażenia CASE SELECT last_name, job_id, salary, CASE job_id WHEN 'IT_PROG' THEN 1.10*salary WHEN 'ST_CLERK' THEN 1.15*salary WHEN 'SA_REP' THEN 1.20*salary ELSE salary END "REVISED_SALARY" FROM emp;

  49. Łączenie tabel

  50. Uzyskiwanie danych z wielu tabel Product Company

More Related