Funkcje agregujące i ciąg dalszy SQL

Podobne dokumenty
Autor: Joanna Karwowska

Autor: Joanna Karwowska

Przestrzenne bazy danych Podstawy języka SQL

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL

Wykład 5. SQL praca z tabelami 2

SQL (ang. Structured Query Language)

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

Zadania z SQLa (MS SQL Server)

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

Wykład 6. SQL praca z tabelami 3

Podstawowe zapytania SELECT (na jednej tabeli)

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych SQL Server 2005

Grupowanie i funkcje agregujące

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

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Wprowadzenie do języka SQL

Wykład 05 Bazy danych

Laboratorium Bazy danych SQL 2

Widok Connections po utworzeniu połączenia. Obszar roboczy

Jerzy Nawrocki, Wprowadzenie do informatyki

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

SQL praca z tabelami 4. Wykład 7

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

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

Bazy danych 7. SQL podstawy

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

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

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

Język SQL, zajęcia nr 2

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

Język SQL, zajęcia nr 1

Język SQL podstawy zapytań

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Język SQL. Rozdział 2. Proste zapytania

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

SQL - JĘZYK ZAPYTAŃ LABORATORIUM

LAB 3 (część 1 Projektu)

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

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

Bazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

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

Bazy danych. Polecenia SQL

Paweł Rajba

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy danych. dr inż. Arkadiusz Mirakowski

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

SQL w praktyce. Miłej i owocnej nauki!!!

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Struktura bazy danych

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Przydatne sztuczki - sql. Na przykładzie postgres a.

SQL Structured Query Language

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

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Autor: Joanna Karwowska

Technologie baz danych

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

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

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

Podyplomowe Studia Systemy informatyczne w logistyce

Współczesne systemy baz danych

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

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

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych wykład trzeci. Konrad Zdanowski

Hurtownia Świętego Mikołaja projekt bazy danych

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Podstawy języka SQL cz. 2

ACESS- zadania z wykorzystaniem poleceń SQL

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

Bazy danych Ćwiczenia projektowe

Ćwiczenie 3 funkcje agregujące

Kurs. Podstawy MySQL

Bazy danych 5. Samozłaczenie SQL podstawy

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

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

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

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Współczesne systemy baz danych

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

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

SQL: zadania + odpowiedzi, wszystkie podstawowe schematy.

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

Krótki przegląd zapytań

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

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

Transkrypt:

Funkcje agregujące i ciąg dalszy SQL 1 Wypisz studentów i ich numery indeksów, których imię zaczyna się na literę A lub P a nazwisko ma końcówkę ka : SELECT imie, nazwisko, nr indeksu studenci WHERE imie LIKE [AP]% AND nazwisko LIKE %ka Operator porównania LIKE służy do testowania zgodności łańcucha znakowego z zadanym wzorcem. Składnia: testowany łańcuch [NOT ] LIKE wzorzec, gdzie wzorzec może się składać z: a-z, A-Z, 0-9 dowolnego ciągu znaków alfanumerycznych % jakikolwiek łańcuch długości 0 jakikolwiek pojedyńczy znak [ ] jakikolwiek znak z zadanego zakresu, np.: [a-d, k-m] albo równoważnie [abcdklm] jakikolwiek znak nie z zadanego zakresu, np.: [ˆe-h, o-z] albo rownoważnie [ˆ] [ˆefghopqrstuvwxyz] czyli wzorzec [p-z]%[ˆe-h, o-x, z] spełniać będzie przykładowo łańcuch: rowery. 2 Ilu jest studentów przy założeniu, że wszyscy są różni? SELECT Studentów jest, COUNT * studenci albo lepiej SELECT Studentów jest, COUNT * SELECT DISTINCT student guid zdajacy 3 Ilu studentów przystąpiło do egzaminów w sesji? SELECT Studentów jest + CAST COUNT * AS varchar studenci Jednak może się tak zdarzyć, że w tabeli egzaminy są błędy, zatem powinniśmy liczyć w nastęujący sposób: SELECT COUNT * SELECT DISTINCT student guid WHERE student guid IN studenci

zdajacy 4 Oblicz średnią arytmetyczną ocen studenta o numerze indeksu 100203: średnia obcięta do liczby całkowitej SELECT AVGISNULLocena, 2 studenci wyniki studenta RIGHT JOIN przedmioty właściwa średnia zaokrąglona do dwóch miejsc po przecinku SELECT CAST AVGCAST ISNULLocena, 2 AS real AS numeric 3, 2 studenci wyniki studenta RIGHT JOIN przedmioty 5 Oblicz średnią ocen dla studenta o numerze indeksu 100203 według wzoru: przedmioty uzyskana ocena ilość punktów za przedmiot przedmioty ilość punktów za przedmiot SELECT CAST SUM CAST ISNULLocena, 2 AS real * punkty / ten slash to nie błąd ale operator dzielenia SELECT SUM punkty

przedmioty AS numeric 3,2 studenci wyniki studenta RIGHT JOIN przedmioty 6 Wypisz guidy i indeksy tych studentów, którzy nie zdawali co najmniej jednego egzaminu: SELECT student guid, nr indeksu SELECT [wpisow] = COUNT *, student guid wyniki RIGHT JOIN studenci ON wyniki.student guid = studenci.guid WHERE ISNULLwpisow, 0 <> SELECT COUNT* przedmioty 7 Usuń z tabeli egzaminy te wszystkie wiersze, które oznaczają wpis dla nieistniejących w tabeli studenci studentów i w tabeli przedmioty przedmiotów: DELETE egzaminy WHERE student guid IS NULL DELETE egzaminy WHERE przedmiot guid IS NULL 8 Uzupełnij tabelę egzaminy o wpisy dziekanatu ocena 2 dla studentów z podpunktu 6 i egzaminów, których nie zdawali jest lepszy sposób ale go jeszcze nie poznamy: INSERT INTO egzaminyprzedmiot guid, student guid, ocena SELECT zaliczenia.przedmiot guid, zaliczenia.student guid, 2

SELECT [student guid] = studenci.guid, [przedmiot guid] = przedmioty.guid SELECT [wpisow] = COUNT *, student guid wyniki RIGHT JOIN studenci ON wyniki.student guid = studenci.guid WHERE ISNULLwpisow, 0 <> SELECT COUNT * przedmioty studenci CROSS JOIN przedmioty zaliczenia LEFT OUTER JOIN egzaminy ON zaliczenia.przedmiot guid = egzaminy.przedmiot guid AND zaliczenia.student guid = egzaminy.student guid WHERE ocena IS NULL 9 Oblicz średnią ocen dla wszystkich studentów jeśli kroki 7 i 8 zostały wykonane we właściwy sposób, możemy się już niczym nie przejmować: SELECT student guid, CAST AVGCAST ocena AS real AS numeric 3,2 i wyświetl tę listę w kolejności od najlepszego do najgorszego: SELECT student guid, [srednia] = CAST AVGCAST ocena AS real AS numeric 3,2 ORDER BY CAST AVGCAST ocena AS real AS numeric 3,2 DESC domyślne sortowanie jest rosnące ASC Uwaga: Dobrze by było, żeby zamiast student guid wyświetlany był numer indeksu. 10 Oblicz minimalną i maksymalną średnią ocen uzyskaną z przedmiotów rozptrywanych osobno: SELECT MAX rezultaty.srednia, MIN rezultaty.srednia

SELECT przedmiot guid, [srednia] = CAST AVGCAST ocena AS real AS numeric 3,2 GROUP BY przedmiot guid rezultaty