Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa



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

Wykład 5. SQL praca z tabelami 2

Systemy GIS Tworzenie zapytań w bazach danych

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Przestrzenne bazy danych Podstawy języka SQL

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

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

Oracle11g: Wprowadzenie do SQL

Bazy danych SQL Server 2005

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Wprowadzenie do baz danych

PODZAPYTANIE (SUBSELECT)

Relacyjne bazy danych. Podstawy SQL

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

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

Wprowadzenie do języka SQL

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

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

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

Bazy danych. dr inż. Arkadiusz Mirakowski

SQL (ang. Structured Query Language)

Grupowanie danych klauzula GROUP BY

Autor: Joanna Karwowska

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Relacyjne bazy danych. Podstawy SQL

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawy języka SQL cz. 2

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

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

Imię i Nazwisko Data Ocena. Laboratorium 7

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

3. Podzapytania, łączenie tabel i zapytań

Kurs. Podstawy MySQL

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

Autor: Joanna Karwowska

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

SQL praca z tabelami 4. Wykład 7

Zadania z SQLa (MS SQL Server)

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Język SQL, zajęcia nr 2

Podyplomowe Studia Systemy informatyczne w logistyce

Wykład 6. SQL praca z tabelami 3

SQL Structured Query Language

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Autor: Joanna Karwowska

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

Grupowanie i funkcje agregujące

Wstęp do relacyjnych baz danych. Jan Bartoszek

CREATE USER

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

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

OBLICZENIA I STATYSTYKA FORMUŁY I FUNKCJE

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

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

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6

Microsoft SQL Server Podstawy T-SQL

Bazy danych. Polecenia SQL

Administracja i programowanie pod Microsoft SQL Server 2000

Zapytania do baz danych

Język SQL, zajęcia nr 1

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

Bazy danych 7. SQL podstawy

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

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

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

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

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

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

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Semestr Wykład Ćwiczenie Laboratorium Projekt Seminarium Łącznie. V Forma zaliczenia Liczba punktów ECTS

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

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

Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy

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

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

Oracle PL/SQL. Paweł Rajba.

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania

Wykład 8. SQL praca z tabelami 5

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Podstawy technologii WWW

Autor: Joanna Karwowska

Bloki anonimowe w PL/SQL

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Paweł Rajba

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

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

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

Komunikacja z bazą danych psql

Transkrypt:

Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa

Informacje organizacyjne 1. Dyżury II semestr: wtorek 11:50-12:40, piątek 13:20-14:00 pokój / room 312aB Coll. Novum - proszę o indywidualne umawianie się na dyżury 2. Warunki zaliczenia przedmiotu: semestr I - test zaliczeniowy zaliczony do końca sesji zimowej (w przypadku r. 2014/15 - luty 2015) semestr II - wykonanie ćwiczeń zaliczeniowych i egzamin końcowy (egz. praktyczny, z wykorzystaniem komputera) 2

Zapytanie SELECT: wyświetlanie wartości bez użycia tabel Polecenia SELECT można użyć, aby wyświetlić wybraną wartość lub wyrażenie, wynik funkcji, które nie są pobierane z tabel w bazie danych, np. funkcje matematyczne. SELECT 2+2 SELECT 2-2 SELECT 2*2 SELECT 2/2 SELECT 2*2*2, POWER(2,3) 3

Jeszcze o Select: wybieranie danych innych niż te w tabelach Polecenia SELECT można użyć, aby wyświetlić wybraną wartość lub wyrażenie, wynik funkcji, które nie są pobierane z tabel w bazie danych, np. funkcje matematyczne. SELECT 2+2 SELECT 2-2 SELECT 2*2 SELECT 2/2 SELECT 2*2*2, POWER(2,3) 4

Jeszcze o Select: wybieranie danych innych niż te w tabelach. Funkcje GETDATE, DATEADD GETDATE Zwraca aktualną datę serwera. select GETDATE() 5

Jeszcze o Select: wybieranie danych innych niż te w tabelach. Funkcje GETDATE, DATEADD Funkcja dodaje lub odejmuje określone części daty (zob. też: http://www.w3schools.com/sql/func_dateadd.asp). Pierwszy parametr określa, którą część daty chcemy zmienić (dodać od niego lub odjąć). Drugi parametr informuje, o ile chcemy zmienić. Trzeci parametr to data wejściowa, którą będziemy modyfikować. select DATEADD(YEAR,-21,'2015-02-22') select DATEADD(YEAR,-21,'2015-02-22 12:37') select DATEADD(YEAR,-21,GETDATE()) 6

Jeszcze o Select: wybieranie danych innych niż te w tabelach. Funkcje GETDATE, DATEADD 7

Zapisywanie danych do pliku 8

Klauzula WHERE: wstęp Klauzula WHERE pozwala wybrać na podstawie określonych warunków, które wiersze powinne być wyświetlone za pomocą polecenia SELECT. Za wyrażeniem WHERE podajemy warunki logiczne, które muszą być spełnione, aby wiersz pojawił się jako wynik zapytania. Warto zapamiętać, że WHERE jest używane również w innych zapytaniach, nie tylko w SELECT, np. w INSERT, UPDATE i DELETE, o których powiemy później. 9

Klauzula WHERE: składnia SELECT [TOP LICZBA] KolumnyDoPokazania [AS NowaNazwaKolumny] FROM Tabela [AS NowaNazwaTabeli] [WHERE WarunkiFiltrowania] [GROUP BY KolumnyPoKtórychGrupować] [ORDER BY KolumnyPoKtórychSortować] [HAVING WarunkiFiltrowania] [] - opcjonalne, czyli można to pominąć 10

Klauzula WHERE Chcemy zobaczyć studentów, którzy mają 21 lat lub więcej (i np. mogą kupować alkohol i papierosy w USA). Mamy rok 2015, więc zakładamy, że data graniczna to rok 1994, a więc więcej niż 21 lat będą miały osoby urodzone przed rokiem 1994. Piszemy zapytanie SELECT, a we frazie WHERE określamy, że ma być wybrany każdy kto urodził się wcześniej niż 1 stycznia 1994. select * from student where BirthDate < '1994-01-01' 11

Klauzula WHERE Chcemy zobaczyć studentów, którzy mają 21 lat lub więcej (i np. mogą kupować alkohol i papierosy w USA). Mamy rok 2015, więc zakładamy, że data graniczna to rok 1994, a więc więcej niż 21 lat będą miały osoby urodzone przed rokiem 1994. Piszemy zapytanie SELECT, a we frazie WHERE określamy, że ma być wybrany każdy kto urodził się wcześniej niż 1 stycznia 1994. select * from student where BirthDate < '1994-01-01' 12

Klauzula WHERE Chcemy zobaczyć studentów, którzy mają 21 lat lub więcej (i np. mogą kupować alkohol i papierosy w USA). Mamy rok 2015, więc zakładamy, że data graniczna to rok 1994, a więc więcej niż 21 lat będą miały osoby urodzone przed rokiem 1994. Piszemy zapytanie SELECT, a we frazie WHERE określamy, że ma być wybrany każdy kto urodził się wcześniej niż 1 stycznia 1994. select * from student where BirthDate < '1994-01-01' 13

Klauzula WHERE W efekcie otrzymaliśmy dane ludzi urodzonych wcześniej niż 1 stycznia 1994. Niestety nie jest to lista ludzi, którzy na dzień dzisiejszy mają skończone 21 lat, bo będzie to zależne od dzisiejszej daty. Czyli prawidłowe wyniki to tylko dane tych osób, które urodziły się do dnia dzisiejszego włącznie w roku 1994, jednak osoby urodzone później nie będą miały jeszcze ukończonych 21 lat. Czyli osoba, która urodziła się 1 lutego 1994 na dzisiaj (22 luty 2015) ma dzisiaj skończone 21 lat, a osoba która urodziła się 1 października jeszcze nie ma 21 lat. Jak poprawić zapytanie? 14

Klauzula WHERE Aby poprawić nasze zapytanie spróbujmy użyć funkcji GETDATE i DATEADD. Wybieramy studentów, którzy urodzili się wcześniej niż dzisiejsza data minus 21 lat. select * from Student where BirthDate < DATEADD(YEAR,-21,GETDATE()) 15

Klauzula WHERE: porównanie (=) SELECT FirstName, LastName FROM Student WHERE Faculty = 'English' Zapytanie zwróci listę wszystkich studentów Wydziału Anglistyki. 16

Klauzula WHERE: różnica (<>) SELECT FirstName, LastName, Faculty FROM Student WHERE Faculty <> 'English' Zapytanie zwróci listę wszystkich studentów wydziałów innych niż Wydział Anglistyki. 17

Klauzula WHERE: iloczyn (cz. wspólna zbiorów) SELECT FirstName, LastName, Sex, Faculty FROM Student WHERE Sex = 'female' AND Faculty = 'English' Zapytanie zwróci listę studentek Wydziału Anglistyki, oba warunki muszą być spełnione. 18

Klauzula WHERE: suma zbiorów SELECT FirstName, LastName, Faculty FROM Student WHERE Faculty = 'English' OR Faculty = 'Modern Languages and Literatures' Zapytanie zwróci listę wszystkich studentów W. Anglistyki i W. Neofilologii. 19

Klauzula WHERE: operator IN SELECT FirstName, LastName, Sex, Faculty FROM Student WHERE FirstName IN ('Monika', 'Anna', 'Jacek', 'Patrycja') Zapytanie zwróci listę studentów o imionach określonych w nawiasie, po operatorze IN. 20

Klauzula WHERE: większy - mniejszy SELECT FirstName, LastName, Faculty, AverageNote FROM Student WHERE AverageNote > 4.3 AND AverageNote < 4.6 Zapytanie zwróci listę studentów o średniej wyższej niż 4,3 i niższej niż 4,6. * Ten sam efekt można uzyskać, używając operatora BETWEEN: SELECT FirstName, LastName, Faculty, AverageNote FROM Student WHERE AverageNote BETWEEN 4.3 AND 4.6 21

Klauzula WHERE: warunki złożone SELECT FirstName, LastName, Sex, Faculty FROM Student WHERE (Sex = 'female' AND Faculty = 'English') OR (Sex = 'male' AND Faculty = 'Modern Languages and Literatures') Zapytanie zwróci listę pań z Anglistyki i panów z Neofilologii. 22

Dziękuję za uwagę!