Autor: Joanna Karwowska

Podobne dokumenty
Autor: Joanna Karwowska

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

Podstawowe zapytania SELECT (na jednej tabeli)

Język SQL. Rozdział 2. Proste zapytania

Przestrzenne bazy danych Podstawy języka SQL

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

SQL (ang. Structured Query Language)

Wykład 5. SQL praca z tabelami 2

Wprowadzenie do języka SQL

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

Zadania z SQLa (MS SQL Server)

Systemy GIS Tworzenie zapytań w bazach danych

SQL praca z tabelami 4. Wykład 7

Relacyjne bazy danych. Podstawy SQL

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

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

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

Relacyjne bazy danych. Podstawy SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

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

Wprowadzenie do baz danych

Technologie baz danych

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

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

Autor: Joanna Karwowska

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

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

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

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

Grupowanie i funkcje agregujące

Bazy danych SQL Server 2005

Struktura bazy danych

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

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

Technologie baz danych

Funkcje agregujące i ciąg dalszy SQL

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Podstawy języka SQL cz. 2

SQL do zaawansowanych analiz danych część 1.

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

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

Język SQL podstawy zapytań

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

Ćwiczenie 3 funkcje agregujące

Konstruowanie Baz Danych DQL agregacja danych

Kwerendy (zapytania) wybierające

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

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

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

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

Grupowanie danych klauzula GROUP BY

LAB 3 (część 1 Projektu)

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Laboratorium Bazy danych SQL 3 1

Wykład 05 Bazy danych

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

SIECI KOMPUTEROWE I BAZY DANYCH

Kurs. Podstawy MySQL

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

TECHNOLOGIE BAZ DANYCH

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

Bazy danych - Materiały do laboratoriów IV

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Laboratorium Bazy danych SQL 2

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

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

W y k ł a d SELECT. Polecenie wyświetlające zawartość tabeli. Składnia uproszczona: Temat: Polecenie SELECT. Plan wykładu:

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

Podyplomowe Studia Systemy informatyczne w logistyce

PODZAPYTANIE (SUBSELECT)

Zagadnienia podstawowe

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

Język SQL, zajęcia nr 2

Klasyczna Analiza Danych

Ćwiczenie 1 podstawy

Paweł Rajba

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

PL/SQL. Funkcje wbudowane

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy danych wykład trzeci. Konrad Zdanowski

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

SQL Structured Query Language

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

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

Język SQL w Delphi. 1. Kwerendy Przygotowanie do ćwiczenia Komenda SELECT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

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

Model relacyjny. Wykład II

SQL. SQL jest językiem uniwersalnym, "zrozumiałym" przez wszystkie systemy RDBMS (Relational Data Base Management System)

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

Tabela SPRZEDAŻ WYCIECZEK

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

Wykład 6. SQL praca z tabelami 3

Transkrypt:

Autor: Joanna Karwowska

SELECT [DISTINCT] <lista kolumn/wyrażeń> FROM <lista tablic> [WHERE <warunek>] [GROUP BY <lista kolumn>] [HAVING <warunek>] [ORDER BY <lista kolumn/numerów>] [ ] instrukcja może wystąpić, ale nie musi.

SELECT - określa, które kolumny z tablic podanych we frazie FROM mają zostać włączone do wyniku (projekcja). Dodatkowo, mogą zostać włączone wyrażenia. DISTINCT - powoduje wyeliminowanie duplikatów (wierszy powtarzających się). FROM - określa tablice, na jakich działa instrukcja SELECT. Jeśli jest kilka tablic, dokonywany jest produkt kartezjański tych tablic. WHERE - określa warunki wyboru wierszy z tablic wymienionych we frazie FROM (selekcja).

GROUP BY - powoduje wiązanie wierszy wynikowych w grupy o jednakowych wartościach we wskazanych kolumnach, a następnie redukowanie tych grup do pojedynczych wierszy. HAVING - określa warunki wyboru dla wierszy powstałych w wyniku działania frazy GROUP BY. ORDER BY - porządkuje wiersze wynikowe rosnąco lub malejąco według wartości wskazanych kolumn: ASC rosnąco DESC - malejąco

SELECT [DISTINCT] <lista kolumn/wyrażeń> FROM <nazwa tablicy> [ WHERE <warunek> ] Uwaga: <lista kolumn> może przybrać formę * (co oznacza wybór wszystkich kolumn).

Przykład 1 Pokaż identyfikatory i nazwiska wszystkich pracowników. SELECT nazwisko, pesel FROM pracownicy; Przykład 2 Pokaż nazwy wszystkich miast, skąd pochodzą pracownicy. SELECT DISTINCT miasto FROM pracownicy; Uwaga: Bez słowa DISTINCT nazwy miast mogłyby się powtarzać.

Przykład 3 Pokaż imiona i nazwiska pracowników, którzy pochodzą z Sopotu. SELECT imie, nazwisko FROM pracownicy WHERE miasto = Sopot ;

Przykład 4 Pokaż imiona i nazwiska i pensje wszystkich pracowników. SELECT imie, nazwisko, pensja FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska; Relacja: {klucz_obcy=nazwa_tabeli.klucz_podstawowy}

Operatory języka SQL występujące w wyrażeniach we frazie SELECT, WHERE i in.: Operatory arytmetyczne: ** ^ potęgowanie * / mnożenie, dzielenie + - dodawanie, odejmowanie Operatory logiczne: NOT AND OR Operatory porównania: = > < >= <= <> Operatory specjalne: IN BETWEEN LIKE MATCHES Operatory porównania z wartością pustą: IS NULL IS NOT NULL

COUNT()-zwraca liczbę wierszy wybranych w zapytaniu. AVG()-oblicza średnią arytmetyczną w kolumnie numerycznej. SUM()-sumuje wartości kolumn numerycznych. MIN()-znajduje wartość minimalną w kolumnie znakowej, numerycznej lub daty. MAX()-znajduje wartość maksymalną w kolumnie znakowej, numerycznej lub daty.

COUNT(*) - zwraca liczbę wierszy w tablicy wynikowej. COUNT(DISTINCT <nazwa kolumny>) - zwraca liczbę różnych wartości we wskazanej kolumnie. Przykład 1 Ilu pracowników pochodzi z Sopotu? SELECT COUNT(*) FROM pracownicy WHERE miasto = Sopot ; Przykład 2 Z ilu różnych miast pochodzą pracownicy? SELECT COUNT(DISTINCT miasto) FROM pracownicy;

Przykład 1 Podaj sumę zarobków wszystkich pracowników. SELECT SUM(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska; Przykład 2 Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji. SELECT SUM(pensja) AS Suma zarobków FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 1 Podaj średnie wynagrodzenie wszystkich pracowników. SELECT AVG(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska; Przykład 2 Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji. SELECT AVG(pensja) AS Średnie wynagrodzenie FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 1 Znajdź największą pensję pracownika. SELECT MAX(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska; Przykład 2 Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji. SELECT MAX(pensja) AS Najwyższe wynagrodzenie FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

Przykład 1 Znajdź najmniejszą pensję pracownika. SELECT MIN(pensja) FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska; Przykład 2 Zmodyfikuj poprzednie zapytanie. Zmień nazwę kolumny zawierającej efekt działania funkcji. SELECT MIN(pensja) AS Minimalne wynagrodzenie FROM pracownicy, stanowiska WHERE stanowisko=stanowiska.id_stanowiska;

IN - sprawdza, czy wartość w kolumnie jest równa jednej z wartości określonej na liście wartości lub będących wynikiem instrukcji SELECT. Przykład: WHERE miasto = Gdansk OR miasto = Gdynia OR miasto = Sopot jest równoważne: WHERE miasto IN ( Gdansk, Gdynia, Sopot )

BETWEEN - sprawdza, czy wartość w kolumnie jest zawarta w przedziale wartości. Przykład: WHERE pensja>=3000 AND pensja<=5000 jest równoważne: WHERE pensja BETWEEN 3000 AND 5000

LIKE - porównuje zawartość kolumny znakowej z łańcuchem znaków, który może zawierać symbole wieloznaczne. Symbole wieloznaczne: _ (podkreślenie) - pasuje do dowolnego pojedynczego znaku, % (procent) - pasuje do dowolnej liczby dowolnych znaków. Przykład Pokaż wszystkich pracowników o nazwiskach zaczynających się na literę B. SELECT nazwisko FROM pracownicy WHERE nazwisko LIKE B% ;

CONTAINS - sprawdza, czy wartość w kolumnie znakowej zawiera wskazany łańcuch. Przykład: Pokaż wszystkich pracowników, których nazwisko zawiera łańcuch ore : SELECT nazwisko FROM pracownicy WHERE nazwisko CONTAINS ore ; Uwaga: Łańcuch użyty w operatorze CONTAINS może zawierać znaki specjalne oznaczające OR i AND.

Bez frazy ORDER BY wyniki zapytania ukazują się w porządku nieokreślonym (w porządku wstawienia ich do tablicy). ORDER BY <nazwa kolumny/numer> [ASC/DESC] Uwagi: 1.Numer kolumny we frazie ORDER BY oznacza pozycję kolumny na liście wyboru instrukcji SELECT. Trzeba go użyć, jeśli porządkujemy wg wartości wyrażenia. 2. Domyślnie przyjmowany jest porządek rosnący (ASC). Przykład 1 Pokaż alfabetycznie dane o pracownikach (nazwisko, imie, pesel). SELECT nazwisko, imie, pesel FROM pracownicy ORDER BY nazwisko ASC;

GROUP BY <nazwa kolumny> [HAVING <warunek>] Fraza ta powoduje powiązanie ze sobą wierszy wynikowych z instrukcji SELECT w grupy wierszy, w których wskazane we frazie GROUP BY kolumny mają tę samą wartość. Następnie każda grupa jest redukowana do pojedynczego wiersza. W tym wierszu występują kolumny z frazy GROUP BY oraz ew. kolumny będące wynikiem funkcji agregujących. Funkcje te wówczas działają na każdej grupie osobno. Następnie eliminowane są wiersze nie spełniające warunku HAVING.

Uwaga 1! Każda kolumna występująca we frazie GROUP BY musi wystąpić na liście wyboru instrukcji SELECT, i na odwrót. Uwaga 2! W warunku HAVING może wystąpić funkcja agregująca (ale nie w warunku WHERE!). Przykład Policz ilość pracowników w każdym mieście. SELECT miasto, COUNT(*) FROM pracownicy GROUP BY miasto;