Bazy danych - Materiały do laboratoriów IV

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

1 Wprowadzenie do funkcji

SQL do zaawansowanych analiz danych część 1.

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Grupowanie danych klauzula GROUP BY

SQL praca z tabelami 4. Wykład 7

Autor: Joanna Karwowska

Klasyczna Analiza Danych

Systemy GIS Tworzenie zapytań w bazach danych

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

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

Autor: Joanna Karwowska

OLAP i hurtownie danych c.d.

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

Rozszerzenia grupowania

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

SQL (ang. Structured Query Language)

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

Laboratorium Bazy danych SQL 3 1

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

TECHNOLOGIE BAZ DANYCH

Grupowanie i funkcje agregacji

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Specyfika języka SQL powoduje, że łatwiej jest najpierw wytłumaczyć, jak korzystać z funkcji grupujących, a dopiero później jak grupować dane.

Ćwiczenie 3 funkcje agregujące

SQL Structured Query Language

Tabela SPRZEDAŻ WYCIECZEK

Autor: Joanna Karwowska

Zaawansowany SQL. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

SQL do zaawansowanych analiz danych część 1.

Technologie baz danych

Przestrzenne bazy danych Podstawy języka SQL

Microsoft SQL Server Podstawy T-SQL

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

PODZAPYTANIE (SUBSELECT)

SQL Structured Query Language

Rozdział 14 Funkcje analityczne

Bazy danych - Materiały do laboratoriów VIII

Konstruowanie Baz Danych DQL agregacja danych

E.14 Bazy Danych cz. 13 SQL Grupowanie danych i funkcje grupujące

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

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Grupowanie i funkcje agregujące

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

Bazy danych. Andrzej Łachwa, UJ, /15

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

OnLine Analytical Processing (OLAP) Zapytania SQL

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Język SQL, zajęcia nr 2

Technologie baz danych

select zam_id, cena_euro,(rank() over (partition by zam_id order by cena_euro)) from pozycjezamowien order by zam_id

SQL. Leksykon kieszonkowy

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Język SQL. Rozdział 2. Proste zapytania

Model relacyjny. Wykład II

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Funkcje analityczne SQL CUBE (1)

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

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

Paweł Rajba

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

27 lutego Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład I. dr inż.

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Widok Connections po utworzeniu połączenia. Obszar roboczy

Język SQL podstawy zapytań

Hurtownie danych - przegląd technologii

Wykład 5. SQL praca z tabelami 2

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawy języka SQL cz. 2

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Klasyczna Analiza Danych

3. Podzapytania, łączenie tabel i zapytań

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

System imed24 Instrukcja Moduł Analizy i raporty

Wykład XII. optymalizacja w relacyjnych bazach danych

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

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

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

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

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

Technologie baz danych

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bazy danych 7. SQL podstawy

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

ROZSZERZENIA J ZYKA SQL DLA OPERACJI ROLAP W BAZIE ORACLE8I

Spis treści. Spis treści 3

Transkrypt:

Bazy danych - Materiały do laboratoriów IV dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 17 marca 2011 roku

Pozostałe funkcje wierszowe Oracle: Decode(wyr, s1, r1, s2, r2,... [, wyr_dom]) - porównuje wyrażenie wyr do kolejnych s1, s2,... Jeżeli wyr jest równe któremuś z tych wyrażeń, w wyniku zwracana jest odpowiadająca jemu wartość ri. Jeżeli żadna z wartości s1, s2,... nie jest równa wejściowemu wyrażeniu funkcja zwraca wartość domyślną. Jeśli jest ona pominięta, funkcja zwraca wartość NULL. Nvl(wyr1, wyr2) - jeżeli wyr1 ma wartość NULL, to funkcja zwraca wyr2. W przeciwnym przypadku funkcja zwraca wyr1 (W MySQL funkcja Ifnull). Uid - zwraca unikalny numer użytkownika User - zwraca nazwę użytkownika

Funkcje agregujące I Funkcje agregujące pobierają jako dane wejściowe zbiór wartości, a zwracają jedną wartość. Avg([DISTINCT] wyr) - oblicza średnią ze zbioru (opcjonalnie różnych) wartości wyrażenia (pomijając wystąpienia NULL). Count(* [DISTINCT] wyr) - Wywołanie Count(*) zwraca liczbę wszystkich wierszy uzyskanych w wyniku zapytania. Podanie argumentu w postaci wyrażenia spowoduje zwrócenie liczby wierszy, w których wybrane wyrażenie nie przyjęło wartości NULL. Max([DISTINCT] wyr) - Zwraca największą wartość ze zbioru (opcjonalnie pozbawionego powtórzeń) pomijając NULL.

Funkcje agregujące II Min([DISTINCT] wyr) - Zwraca najmniejszą wartość ze zbioru (opcjonalnie pozbawionego powtórzeń) pomijając NULL. Stdev([DISTINCT] wyr) - Wylicza odchylenie standardowe na zbiorze (opcjonalnie pozbawionym powtórzeń) pomijając NULL. Sum([DISTINCT] wyr) - Wylicza sumę wartości ze zbioru (opcjonalnie pozbawionego powtórzeń) pomijając NULL. Variance(* [DISTINCT] wyr) - Oblicza wariancję wartości ze zbioru (opcjonalnie pozbawionego powtórzeń) pomijając NULL.

Klauzula GROUP BY klauzula GROUP BY umożliwia podzielenie relacji na podzbiory - agregację. Pojedynczy podzbiór/grupę stanowią wiersze, dla których kryterium grupowania ma identyczną wartość. Na liście wyrażeń klauzuli SELECT mogą wówczas stanąć jedynie te wyrażenia, które są przedmiotem działania klauzuli GROUP BY, oraz argumenty funkcji agregujących. SELECT rok, Count(nazwisko) FROM studenci GROUP BY rok; SELECT rok,gr_dziekan, Count(nazwisko) FROM studenci GROUP BY rok, gr_dziekan;

Grupowanie

Grupowanie z wieloma kryteriami

Klauzula HAVING klauzula HAVING określa warunki, które muszą być spełnione przez podzbiór by został uwzględniony w relacji wynikowej; (warunki zawarte w klazuli WHERE tyczą się relacji przed agregacją, zaś w HAVING po agregacji). SELECT rok, Count(nazwisko) FROM studenci GROUP BY rok HAVING Count(nazwisko) > 100; SELECT rok,gr_dziekan, Count(nazwisko) FROM studenci GROUP BY rok, gr_dziekan HAVING Count(nazwisko) > 20;

WHERE kontra HAVING

Rozszerzenia klauzuli GROUP BY I Oracle: ROLLUP - dla n kryteriów grupowania daje n 1 dodatkowych zestawień; dodatkowe podsumowania uzyskuje poprzez zwijanie ostatnich elementów z listy. Np.: SELECT rok, gr_dziekan, imiona,count(*) FROM studenci GROUP BY ROLLUP(rok, gr_dziekan, imiona);

Rozszerzenia klauzuli GROUP BY II CUBE - dla n kryteriów grupowania daje 2 n zestawień; Np.: SELECT rok, gr_dziekan, imiona,count(*) FROM studenci GROUP BY CUBE(rok, gr_dziekan, imiona);

Rozszerzenia klauzuli GROUP BY III GROUPING SETS - pozwala na jednoznaczne określenie, które z dodatkowych zestawień chcemy uzyskać. Np.: SELECT rok, gr_dziekan, imiona,count(*) FROM studenci GROUP BY GROUPING SETS((rok, gr_dziekan, imiona),());

Rozszerzenia klauzuli GROUP BY IV Grouping(wyr) - Funkcja zwracajaca wartość 1 dla wyrażeń zwijanych dla dodatkowych zestawień.np.: SELECT Grouping(rok), rok, Grouping(gr_dziekan), gr_dziekan, Grouping(imiona), imiona,count(*) FROM studenci GROUP BY CUBE(rok, gr_dziekan, imiona);