Manuale SQL. Manuale SQL - 1 -

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

Caratteristiche dei linguaggi per Database

Structured Query Language

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

SQL - Structured Query Language

Elena Baralis 2007 Politecnico di Torino 1

Linguaggio SQL seconda parte

PROGETTAZIONE DI DATABASE Linguaggio SQL

Laboratorio di Basi di Dati

SQL: DDL, VI, Aggiornamenti e Viste

Esempio di database relazionale con l utilizzo del prodotto MySQL

Tabelle esempio: Impiegato/Dipartimento

Il Linguaggio SQL Teoria ed esempi

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

SQL (STRUCTURED QUERY LANGUAGE)

MODULO 2. Query normali e parametriche Query di:

CORSO ACCESS 2000 PARTE VI

<Nome Tabella>.<attributo>

Laboratorio di Basi di Dati

Interrogazioni nidificate

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

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

LEFT JOIN - RIGHT JOIN - SELF JOIN - CROSS JOIN

Esercitazione: Interrogazioni SQL

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

DATABASE PER IL WEB. Programmazione Web 1

Basi di Dati: Corso di laboratorio

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

Basi di Dati: Corso di laboratorio

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

ESERCITAZIONI ACCESS

Interrogazioni in SQL

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1.

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

ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO

Basi di Dati: Corso di laboratorio

ESERCIZI SQL. Esercizio 1

Basi di Dati: Corso di laboratorio

Il linguaggio SQL: autorizzazioni

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

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

Corso di Basi di Dati

Tipi di sottoquery SQL

Elena Baralis 2007 Politecnico di Torino 1

SQL e algebra relazionale

LABORATORIO di INFORMATICA

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Basi di Dati: Corso di laboratorio

Oracle Database 10g: Introduction to SQL - LVC

Interrogazioni nidificate

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

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

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Istruzioni DML di SQL

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

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

Esempi SQL con Access. Orazio Battaglia

Alessandra Raffaetà. Esercizio: Cinema

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

Sommario. Introduzione... 13

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

SQL - Sottointerrogazioni

SQL (STRUCTURED QUERY LANGUAGE)

σ data 15/12/2013 data 20/12/2014

Elena Baralis 2007 Politecnico di Torino 1

SQL: Definizione e Manipolazione di Relazioni. Capitolo 2

Soluzione esercitazione 01

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM : SQL ISO 9075:1992 SQL:1999 SQL:2003

2011 Politecnico di Torino 1

Estensioni del linguaggio SQL per interrogazioni OLAP

Istruzioni DML. Istruzioni DDL pag. 2 CREATE TABLE pag. 2. ALTER TABLE pag. 6. DROP TABLE pag. 25 CREATE INDEX pag. 26

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

Laboratorio di Basi di Dati

Uno dei principali motivi del successo delle basi di dati: è diventato uno standard

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

Introduzione Sql con Microsoft Access

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Query SQL - singola tabella

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

SQL Manuale introduttivo

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

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

Le query di comando e di servizio in Access

CORSO ACCESS PARTE IV

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

Silvia Chiusano, Paolo Garza 1

Corso base SQLite. Copyright (c) 2015 Antonio Gallo

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

STUDIO. Esercizi proposti a lezione cap. 3 rev. dic da Ulmann, Widom Introduzione ai database. indirizzo. titolo. nome. recitain. attori.

ASP e Database. A cura di Michele Cavalieri

Transcript:

Manuale SQL - 1 -

Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate, e le regole di integrità. La creazione di una tabella avviene attraverso un'istruzione che può assumere un'articolazione molto complessa, a seconda delle caratteristiche particolari che da questa tabella si vogliono ottenere. La sintassi più semplice è quella seguente: CREATE TABLE <nome tabella> ( <elemento tabella> [{, <elemento tabella>}... ] ) Le clausole <elemento tabella> sono l elemento più importante dell istruzione in quanto consentono di definire le colonne, i vincoli e gli altri elementi specifici della tabella che si sta creando. E possibile definire una o più clausole <elemento tabella>. Se si definiscono più clausole, occorre utilizzare una virgola di separazione. La sintassi utilizzata per definire una colonna, ovvero l <elemento tabella>, è la seguente: <nome colonna> <tipo di dati> [<clausola di default>] [<vincolo della colonna>] In questo modo, per definire una colonna è sufficiente fornire il nome della colonna, dichiarare il tipo di dati che in essa può essere contenuto ed, inoltre, si ha la possibilità di fornire un valore di default e specificare gli eventuali vincoli. La seguente sintassi consente di creare una chiave esterna tramite un vincolo sulla tabella: CREATE TABLE nome tabella ( <elemento tabella> [,...], [ CONSTRAINT <nome vincolo> ] FOREIGN KEY (<colonna referenziante> [ {,<col referenziante>}...] ) REFERENCES <tabella referenziata> [(<colonne referenziate>]) ) Eliminazione di una tabella : DROP TABLE L'eliminazione di una tabella, con tutto il suo contenuto, è un'operazione semplice che dovrebbe essere autorizzata solo all'utente che l'ha creata. La sintassi del comando è la seguente: DROP TABLE <nome_tabella> - 2 -

Istruzioni DML Inserimento dati in una tabella : INSERT L istruzione INSERT consente di aggiungere dati alle tabelle del database secondo la seguente sintassi : INSERT INTO <nome tabella> [ ( <nome colonna> [ {, <nome colonna> }...] ) ] VALUES ( <valore> [ {, <valore>}... ] ) Aggiornamento dati in una tabella : UPDATE L istruzione UPDATE consente di aggiornare i dati contenuti in un database. Col questa istruzione è possibile modificare i dati contenuti in una o più righe e una o più colonne. La sintassi dell istruzione UPDATE è la seguente : UPDATE <nome tabella> SET <nome colonna> = <espressione> [{,<nome colonna> = < espressione>}...] [WHERE <condizione di ricerca >] Cancellazione dati da una tabella : DELETE Una volta che i record di una tabella sono stati inseriti e/o modificati, è possibile che si debba provvedere alla loro cancellazione. La eliminazione di record da una tabella avviene tramite l istruzione DELETE secondo la seguente sintassi : DELETE FROM <nome tabella> [WHERE <condizione di ricerca>] - 3 -

Istruzione SELECT SELECT [ DISTINCT ALL] { * <elenco colonne>} FROM <nome tabella> [{, <nome tabella>}... ] [ WHERE <condizione di ricerca>] [ GROUP BY <specifica di raggruppamento>] [ HAVING <condizione di ricerca> ] [ ORDER BY <condizione di ordinamento> ] Predicati BETWEEN Il predicato BETWEEN ha un funzionamento molto simile all operatore di maggiore o uguale e minore o uguale utilizzati insieme. Il predicato BEETWEEN viene utilizzato insieme alla parola riservata AND per identificare un intervallo di valori che possono essere inclusi come condizione di ricerca nella clausola WHERE. Per poter essere utilizzati, i valori contenuti nella colonna identificata devono rientrare in questo intervallo. Quando si usa la clausola BEETWEEN, occorre specificare la colonna cui viene applicata e le estremità inferiore e superiore dell intervallo. SELECT Cognome, Nome FROM tbclienti WHERE (Cognome BETWEEN 'A' AND 'M') ORDER BY Cognome,Nome; NULL Il predicato IS NULL confronta il valore in una colonna con il valore Null. L uso di questo predicato è il solo modo per controllare la presenza del valore Null in una colonna. E possibile inserire l operatore di negazione NOT per valutare la condizione opposta, ovvero per controllare se un attributo non ha valore Null. SELECT Cognome, Nome, DataOrdine FROM tbclienti WHERE (DataOrdine IS NULL) ORDER BY Cognome; LIKE Il predicato LIKE consente di fornire un argomento di ricerca più flessibile in cui si specificano valori simili ai valori contenuti nel database. Questo è particolarmente utile se si conosce solo una parte di un valore e si devono ricercare informazioni sulla base di queste informazioni parziali. Per esempio, si supponga di non conoscere esattamente l Indirizzo di un cliente ma di conoscerne con certezza solo una parte. Utilizzando il predicato LIKE si possono richiedere valori simili a quelli conosciuti e pertanto capire se il database contiene le informazioni richieste. Il predicato LIKE confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri jolly. - 4 -

SELECT Cognome, Nome FROM tbclienti WHERE (Cognome Like 'M*') ORDER BY Cognome,Nome; IN Il predicato IN consente di determinare se i valori contenuti nella colonna specificata di una tabella si trovano in un determinato elenco o in un altra tabella (questo caso si tratterà nel paragrafo relativo alle subquery). Il predicato IN, in altre parole, controlla se un valore appartiene ad un insieme specificato di valori, cioè è possibile richiedere le righe di una tabella che hanno i valori di una colonna compresi in una lista di valori indicati dopo il predicato IN all interno della condizione indicata nella clausola WHERE. SELECT Cognome, Nome FROM tbclienti WHERE (Nome IN ( 'Giuseppe', 'Mario', 'Carlo')) ORDER BY Cognome, Nome; Funzioni di aggregazione COUNT(espr), COUNT(*) SUM(espr) MAX(espr) MIN(espr) AVG(espr) Conteggio dei valori di una colonna, se per espr si specifica un nome di colonna, o conteggio di tutte le righe di una tabella o gruppo, se si specifica *. Con COUNT(espr) i valori NULL vengono ignorati, mentre con COUNT(*) vengono inclusi nel conteggio. SELECT COUNT(*) AS [Totale Clienti] FROM tbclienti; Somma dei valori di una colonna. La colonna deve contenere soltanto dati numerici. La funzione SUM considera i record contenenti campi di tipo Null come aventi valore 0. SELECT SUM(Fatturato) AS [Totale] FROM tbclienti; Valore massimo di una colonna o l'ultimo valore in ordine alfabetico per tipi di dati di testo. I valori NULL vengono ignorati. SELECT MAX(Fatturato) AS [FattMAX] FROM tbclienti; Valore minimo di una colonna o il primo valore in ordine alfabetico per tipi di dati di testo. I valori NULL vengono ignorati. SELECT MIN(Fatturato) AS [FattMIN] FROM tbclienti; Media dei valori di una colonna. La colonna deve contenere soltanto dati numerici. La media calcolata dalla funzione AVG equivale alla media aritmetica e non include nel calcolo i valori di tipo Null presenti nella colonna. SELECT AVG(Fatturato) AS [Mediafatt] FROM tbclienti - 5 -