Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- QL (Query Language)
sono le istruzioni che consentono l’ESTRAZIONE dei dati dal DBMS,
utilizzando vari criteri di filtro, di raggruppamento e di
visualizzazione.
ISTRUZIONI DDL
(CREATE TABLE, ALTER TABLE, DROP TABLE)
INSERT
INSERT permette di
inserire un nuovo
Possibilità a) record in una tabella.
Esistono due
INSERT INTO DIPENDENTI possibilità:
VALUES (“RCCFRD…..”, “Ricci”, “Alfredo”, a. Indicare i valori di
#14/03/1980#, 2, 2134.00, true, 5) tutti i campi della
tabella
In questa modalità si devono indicare i b. Indicare solo i
valori dei campi (nella clausola VALUES) valori di alcuni
nello stesso ordine con cui sono stati campi
definiti nella create della tabella.
La modalità b. va
La sintassi prevede di utilizzare: utilizzata solo se non
si possiedono tutti i
- Le virgolette “ ” per i campi di tipo testo
valori delle colonne da
- Il cancelletto # # per i campi di tipo data inserire.
- Nessun simbolo per i campi numerici
- true o false per i campi booleani
Possibilità b)
Oltre ai consueti criteri di confronto ( = , > , >= , < , <= , <>) ne esistono altri
importanti nel mondo dei dati. Vediamo i principali:
UPDATE DIPENDENTI
SET campo=nuovo_valore
WHERE …..criterio di filtro…… UPDATE permette di
modificare il valore di
La clausola WHERE permette di identificare i record una o più colonne in
che saranno oggetto della modifica. riferimento ad uno o
Stesso utilizzo già visto nel comando DELETE. più record della
tabella.
La clausola SET permette di impostare il nuovo valore
nel campo specificato.
Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l’utente che
esegue l’operazione deve avere i privilegi necessari.„
I privilegi vengono concessi e revocati per mezzo delle istruzioni GRANT e
REVOKE.
Es.
Si dispone della tabella:
DIPENDENTI (CodFisc, Cognome, Nome, DataNascita, NumFigli, Stipendio, Laureato, CodAzienda)
Per visualizzare in output (da una selezione) i dati ordinati secondo un certo
criterio, è possibile specificare una o più colonne di ordinamento.
DIPENDENTI (CodFisc, Cognome, Nome, Città, DataNascita, NumFigli, Stipendio, Laureato, CodAzienda)
ES. Visualizzare lo stipendio più basso tra tutti i dipendenti laureati con
almeno 3 figli.
NOTA IMPORTANTISSIMA!
Siccome il formato di restituzione dei dati della SELECT è comunque
tabellare, quando si utilizzano le funzioni di aggregazione NON E’ POSSIBILE
chiedere contemporaneamente di estrarre anche una qualsiasi colonna
della tabella.
ES: Visualizzare quanti sono i dipendenti nati nel 1980 e visualizzare i loro nomi.
(in quanto non sarebbe una tabella regolare, cioè ogni colonna non avrebbe lo
stesso numero di righe)
ALIAS “AS”
ES. Visualizzare il numero dei dipendenti (ed il loro stipendio medio) nati dal
1981 in avanti.
visualizzare, per ogni diversa città, quanti sono i dipendenti, con almeno un
figlio, che abitano in quella città.
Visualizzare la città nelle quali c’è più di un dipendente con almeno un figlio.
CASO 1
Estrarre i dipendenti con stipendio superiore alla media degli stipendi calcolata
tra tutti i dipendenti.
Esistono diversi tipi di JOIN e diverse modalità tecniche per realizzarlo; per
questioni di semplicità tratteremo solamente l’ INNER JOIN.
L’ Inner Join combina solo le righe delle due tabelle che soddisfano un certo
predicato di confronto, come in un’operazione di intersezione.
Il risultato consiste nel creare, in modo virtuale e temporaneo, un’unica
tabella formata dall’unione delle due tabelle di partenza in modo da poter
elaborare i dati in maniera trasversale tra le varie tabelle.
Questo tipo di join è la combinazione tra il prodotto cartesiano delle due
tabelle ed una selezione dati applicata ad esso.
SELECT campi
FROM DIPENDENTI, AZIENDE
WHERE DIPENDENTI.CodAzienda = AZIENDE.CodAzienda
NOTA: Quando nelle due tabelle di join ci sono colonne con lo stesso
nome (es. CodAzienda, Città) per referenziare una precisa colonna è
OBBLIGATORIO anteporre al nome del campo il nome della tabella,
seguito dal carattere . (PUNTO)
ES. DIPENDENTI.CodAzienda oppure DIPENDENTI.Città
Es. Estrarre i nomi dei dipendenti che lavorano nell’azienda denominata “Beta
Spa”.