Structured Query Language

Похожие документы
Caratteristiche dei linguaggi per Database

Linguaggio SQL seconda parte

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

<Nome Tabella>.<attributo>

Basi di Dati: Corso di laboratorio

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

Elena Baralis 2007 Politecnico di Torino 1

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna laura sicuro rimini 1984 esami codice

SQL - Structured Query Language

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. ing. Alfredo Cozzi 1

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Sommario. Introduzione... 13

SQL e algebra relazionale

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

CORSO ACCESS 2000 PARTE VI

Esempi SQL con Access. Orazio Battaglia

ALGEBRA RELAZIONALE. L algebra relazionale

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

Esercitazione: Interrogazioni SQL

Lezione 6. Algebra e Calcolo Relazionale

SQL - Sottointerrogazioni

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli

Alessandra Raffaetà. Esercizio: Cinema

Basi di Dati: Corso di laboratorio

SQL (STRUCTURED QUERY LANGUAGE)

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

SQL - Funzioni di gruppo

3 SQL : Interrogazioni

Tipi di sottoquery SQL

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Corso di Informatica (Basi di Dati)

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Elena Baralis 2007 Politecnico di Torino 1

Algebra relazionale: operazioni

Access. P a r t e t e r z a

SQL (STRUCTURED QUERY LANGUAGE)

Esempio di database relazionale con l utilizzo del prodotto MySQL

BASI DATI: algebra relazionale

Linguaggi per basi di dati

Interrogazioni nidificate

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

SQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Query in Access. Criteri, Valori Univoci, Operatori e Colonna Calcolata. Query (Interrogazione)

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Corso sul linguaggio SQL

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Le query di comando e di servizio in Access

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

3 Algebra Relazionale

CORSO ACCESS PARTE IV

Oracle Database 10g: Introduction to SQL - LVC

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Ripasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/


CAPITOLO V. DATABASE: Il modello relazionale

MAX, SUM, AVG, COUNT)

Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Istruzioni DML di SQL

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Data management a.a Il linguaggio SQL

Basi di Dati Corso di Laura in Informatica Umanistica

Транскрипт:

IL LINGUAGGIO SQL

Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un archivio Interrogare il database Ne esistono varie versioni Le interrogazioni con SQL sono un estensione di quelle che si possono realizzare con sequenze di operazioni relazionali (si possono effettuare calcoli, raggruppamenti e ordinamenti) 2

Identificatori Nomi di tabelle e di attributi costituiti da sequenze di max 18 caratteri. Possono contenere il carattere _ nel caso di nomi composti. Il nome di un attributo è identificato con la notazione: NomeTabella.NomeAttributo Il nome della tabella può essere omesso se non ci sono ambiguità nell identificazione dell attributo. Nella dichiarazione della struttura della tabella occorre specificare il tipo dei dati scelto per gli attributi. 3

Tipi di dati standard BOOLEAN valore logico True, False CHARACTER(N) Stringa di lunghezza n N da 1 a 15000 Date Time MM/GG/AA HH:MM INTEGER(p) p: max numero di cifre p da 1 a 45 SMALLINT 16 bit p =5 INTEGER 32 bit p =10 DECIMAL(p,s) p da 1 a 45 s da 0 a p REAL Mantissa di precisione 7 FLOAT o DOUBLE PRECISION Mantissa di precisione 15 FLOAT(p) Mantissa di precisione p p da 1 a 45 4

Considerazioni Le diverse versioni del linguaggio SQL differiscono dallo standard sia nel tipo dei dati sia nella sintassi delle istruzioni: verificare sempre nel manuale per l utente o nell help in linea. Le costanti sono delimitate dai caratteri o. Il delimitatore standard è l apice. Gli attributi con valore non disponibile o non definito assumono il valore Null. Null non è mai uguale a nessun altro valore: è diverso da 0 per i dati numerici e dalla stringa vuota per i dati alfanumerici. 5

Le operazioni relazionali Le operazioni relazionali consentono di effettuare le interrogazioni alla base di dati estraendo da una tabella una sottotabella, oppure combinando tra loro più tabelle e generando così nuove relazioni Operatori dell algebra relazionale: Unione, intersezione, differenza Ridenominazione Selezione Proiezione join (join naturale, prodotto cartesiano, theta-join) 6

Unione 7

Intersezione 8

Differenza 9

Selezione e proiezione 10

Selezione produce un risultato che ha lo stesso schema dell'operando contiene un sottoinsieme delle ennuple dell'operando Contiene solo le ennuple che soddisfano la condizione indicata Grado: la relazione ottenuta ha lo stesso grado (le stesse colonne) di quella di partenza 11

Esempio Impiegati che guadagnano più di 50 e lavorano a Milano SELStipendio > 50 AND Filiale = 'Milano' (Impiegati) 12

Proiezione produce un risultato che ha parte degli attributi dell'operando contiene ennuple cui contribuiscono tutte le ennuple dell'operando Semantica: il risultato contiene le ennuple ottenute da tutte le ennuple dell'operando ristrette agli attributi nella lista 13

Le interrogazioni in SQL Il comando SELECT consente di estrarre dal database le informazioni desiderate La struttura base del comando è: SELECT Colonne FROM Tabelle WHERE Condizioni; 14

Esempi SELECT Cognome, Nome, Citta FROM Impiegato WHERE Dipart= medicina ; SELECT Cognome, Nome, Citta FROM Impiegato WHERE Dipart= medicina AND Citta= Torino ; SELECT * FROM Impiegato WHERE Citta= Torino ; 15

Predicati ALL e DISTINCT SELECT ALL * FROM Impiegato WHERE Citta= Torino ; Trova tutte le righe che soddisfano alla condizione (si può omettere, ALL è un predicato di default) SELECT DISTINCT Citta FROM Impiegato; Produce l elenco di tutte le città senza duplicati 16

Abbreviazioni 17

Clausola DISTINCT 18

Clausola AS 19

Selezione senza proiezione Nome,età, reddito delle persone con meno di 30 anni 20

Condizione LIKE Persone il cui nome inizia con A e hanno d come terza lettera 21

Gestione dei valori nulli Impiegati la cui età è maggiore di 40 oppure non è specificata 22

Funzioni di aggregazione Le funzioni di aggregazione sono funzioni predefinite che agiscono sui valori contenuti in un insieme di righe della tabella. Agiscono sui valori di una singola colonna e restituiscono un solo valore Possono essere utilizzate solo come argomento scritto accanto al comando SELECT oppure nella clausola HAVING 23

Count SELECT COUNT(*) FROM Impiegato WHERE Citta= Roma ; 24

Altri operatori aggregati SUM, AVG (media), MAX, MIN Ammettono come argomento un attributo o un espressione, ma non * SUM e AVG ammettono argomenti numerici o tempo MAX e MIN ammettono argomenti su cui è definibile un ordinamento ignorano i campi con valore Null Ammettono l opzione DISTINCT 25

Esempi Il primo e l ultimo cognome della tabella Impiegato: SELECT MIN(Cognome), MAX(Cognome) FROM Impiegato; Stipendio medio dei dipendenti con sede a Torino, senza righe duplicate: SELECT AVG DISTINCT(Stipendio) FROM Impiegato WHERE Citta= Torino 26

Ordinamento: ORDER BY Nome e reddito delle persone con meno di 30 anni in ordine alfabetico 27

Raggruppamenti: GROUP BY Le funzioni di aggregazione possono essere applicate a gruppi di record La clausola GROUP BY permette di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate dalla clausola. I valori Null non vengono considerati ad eccezione della funzione COUNT. 28

Esempio Il numero di figli di ciascun padre: 29

Clausola HAVING La clausola HAVING viene normalmente usata insieme a GROUP BY. La condizione scritta dopo HAVING in genere controlla il valore restituito dalle funzioni di aggregazione (Count, Sum, Avg, Max, Min) e serve a visualizzare le sole righe del raggruppamento che soddisfano le condizioni specificate accanto ad HAVING. Esempio: SELECT Dipartimento, COUNT(ID), SUM(Stipendio) FROM Impiegato GROUP BY Dipartimento HAVING COUNT (ID)>2; 30

Tabella riassuntiva SELECT FROM WHERE GROUP BY HAVING ORDER BY elenco colonne da mostrare Tabelle da cui estrarre le righe Condizioni sulle congiunzioni Campi da considerare nei raggruppamenti Condizioni sui raggruppamenti Ordinamenti sulle colonne elencate nella SELECT obbligatorio obbligatorio 31

Condizioni di ricerca I criteri di selezione usati nelle clausole Where e Having possono contenere: Gli operatori di confronto =,<,>,<>,>=,<= Più condizioni legate tra loro con gli operatori AND e OR, eventualmente precedute da NOT BETWEEN esempio: where Stipendio between 3000 and 4000; IN es: where Citta IN ( Torino, Roma, Pavia ); LIKE es: WHERE Cognome LIKE abc% ; WHERE Cognome LIKE %$_% ESCAPE $ ; IS NULL oppure IS NOT NULL 32