Structured Query Language SQL Structured Query Language
La sintassi
ESEMPIO
ESEMPIO
ESEMPIO: Having applicabile su raggruppamenti SELECT Studenti.Cognome FROM Studenti GROUP BY Studenti.Cognome HAVING Studenti.Cognome>’m' ESEMPIO: Having applicabile su raggruppamenti
ESEMPIO: campo calcolato (MS Access function) SELECT Studenti.Cognome, Mid(Date(),7,4)-Mid([Nato],7,4) AS età FROM Studenti; ESEMPIO: campo calcolato (MS Access function)
ESEMPIO: Query parametrica SELECT Studenti.Cognome, Mid([Nato],9,2) AS anno FROM Studenti WHERE Not Mid([Nato],9,2)=[Quale anno escludere ?] ESEMPIO: Query parametrica
SELECT [DISTINCT] <Campo1> [AS “Alias1”], <Campo2> [AS “Alias2”], … <CampoN> [AS “AliasN”] FROM <Tabella1>, <Tabella2>, …<TabellaN> WHERE <condizioni> SINTASSI
ESEMPIO: estrazione da più tabelle SELECT Studenti.Cognome, Studenti.Nato, Classi.Corso, Classi.Anno FROM Studenti, Classi, Appartiene WHERE Classi.IdClasse = Appartiene.IdCla AND Studenti.IdStudente = Appartiene.IdStud; ESEMPIO: estrazione da più tabelle
ESEMPIO: estrazione da più tabelle con ordinamento SELECT Studenti.Cognome, Studenti.Nato, Classi.Corso, Classi.Anno FROM Studenti, Classi, Appartiene WHERE Classi.IdClasse = Appartiene.IdCla AND Studenti.IdStudente = Appartiene.IdStud ORDER BY Studenti.Cognome; ESEMPIO: estrazione da più tabelle con ordinamento
SELECT [DISTINCT] <Campo1> [AS “Alias1”], <Campo2> [AS “Alias2”], … <CampoN> [AS “AliasN”] FROM <Tabella1>, <Tabella2>, …<TabellaN> WHERE <condizioni> GROUP BY <Campi> HAVING <condizioni> ORDER BY <Campi> SINTASSI
VERIFICA Supponiamo di avere la seguente base di dati che contenga le seguenti tabelle (in corsivo sono evidenziate le FK): STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città, CAP,M/F) INSEGNANTE(Matricola, Nome, Cognome, Città, Telefono, Stipendio) CORSO(Codice, Nome, Facoltà, NumeroCrediti) ESAME(CodiceCorso, MatricolaStudente, Voto) INSEGNAMENTO(CodiceCorso, MatricolaProfessore, NumeroStudenti)
QUERY Popolare le tabelle e realizzare le seguenti query: Q1: Elencare il nome e il cognome degli studenti che vivono a Milano o a Verona Q2: Elencare il nome e il cognome degli insegnanti che vivono a Milano o a Verona e guadagnano più di 2000 euro Q3: Elencare il nome e il cognome degli insegnanti che vivono a Milano o a Verona e guadagnano tra i 1000 e i 2000 euro Q4: Trovare i professori che guadagnano più di 1500 euro QUERY
VIEW rappresentata da una query (SELECT), il cui risultato può essere usato come se fosse una tabella archiviata permanentemente modo di vedere i dati da parte dell’utente >>
VIEW È una relazione (tabella) derivata Si specifica l’espressione che genera dinamicamente il suo contenuto. Il contenuto dipende dalle relazioni (tabelle) che compaiono nell’espressione. Le viste possono essere aggiornabili, cioè è possibile eseguire su di esse comandi DML (INSERT, UPDATE e DELETE)
>> SQL >> funzioni Sql