SQL Structured Query Language LA SINTASSI ESEMPIO ESEMPIO

























![SELECT Studenti. Cognome, Mid(Date(), 7, 4)-Mid([Nato], 7, 4) AS età FROM Studenti; ESEMPIO: CAMPO SELECT Studenti. Cognome, Mid(Date(), 7, 4)-Mid([Nato], 7, 4) AS età FROM Studenti; ESEMPIO: CAMPO](https://slidetodoc.com/presentation_image_h2/7da468c780fe2005260049cfc057457f/image-26.jpg)
![SELECT Studenti. Cognome, Mid([Nato], 9, 2) AS anno FROM Studenti WHERE Not Mid([Nato], 9, SELECT Studenti. Cognome, Mid([Nato], 9, 2) AS anno FROM Studenti WHERE Not Mid([Nato], 9,](https://slidetodoc.com/presentation_image_h2/7da468c780fe2005260049cfc057457f/image-27.jpg)

![SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo. SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo.](https://slidetodoc.com/presentation_image_h2/7da468c780fe2005260049cfc057457f/image-29.jpg)


![SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo. SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo.](https://slidetodoc.com/presentation_image_h2/7da468c780fe2005260049cfc057457f/image-32.jpg)




















- Slides: 52
SQL Structured Query Language
LA SINTASSI
ESEMPIO
ESEMPIO
SELECT Studenti. Cognome FROM Studenti GROUP BY Studenti. Cognome HAVING Studenti. Cognome>’m' ESEMPIO: HAVING APPLICABILE SU RAGGRUPPAMENTI
SELECT Studenti. Cognome, Mid(Date(), 7, 4)-Mid([Nato], 7, 4) AS età FROM Studenti; ESEMPIO: CAMPO CALCOLATO (MS ACCESS FUNCTION)
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] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo. N> [AS “Alias. N”] FROM <Tabella 1>, <Tabella 2>, …<Tabella. N> WHERE <condizioni> SINTASSI
SELECT Studenti. Cognome, Studenti. Nato, Classi. Corso, Classi. Anno FROM Studenti, Classi, Appartiene WHERE Classi. Id. Classe = Appartiene. Id. Cla AND Studenti. Id. Studente = Appartiene. Id. Stud; ESEMPIO: ESTRAZIONE DA PIÙ TABELLE
SELECT Studenti. Cognome, Studenti. Nato, Classi. Corso, Classi. Anno FROM Studenti, Classi, Appartiene WHERE Classi. Id. Classe = Appartiene. Id. Cla AND Studenti. Id. Studente = Appartiene. Id. Stud ORDER BY Studenti. Cognome; ESEMPIO: ESTRAZIONE DA PIÙ TABELLE
SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo. N> [AS “Alias. N”] FROM <Tabella 1>, <Tabella 2>, …<Tabella. N> WHERE <condizioni> GROUP BY <Campi> HAVING <condizioni> ORDER BY <Campi> SINTASSI
Supponiamo di avere la seguente base di dati che contenga le seguenti tabelle (in corsivo sono evidenziate le FK): VERIFICA STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città, CAP, M/F) INSEGNANTE(Matricola, Nome, Cognome, Città, Telefono, Stipendio) CORSO(Codice, Nome, Facoltà, Numero. Crediti) ESAME(Codice. Corso, Matricola. Studente, Voto) INSEGNAMENTO(Codice. Corso, Matricola. Professore, Numero. Studenti)
Popolare le tabelle e realizzare le seguenti query: Q 1: Elencare il nome e il cognome degli studenti che vivono a Milano o a Verona Q 2: Elencare il nome e il cognome degli insegnanti che vivono a Milano o a Verona e guadagnano più di 2000 euro Q 3: Elencare il nome e il cognome degli insegnanti che vivono a Milano o a Verona e guadagnano tra i 1000 e i 2000 euro Q 4: Trovare i professori che guadagnano più di 1500 euro QUERY
CREATE TABLE Studenti (Cognome varchar (20), Nato char (10), Altezza integer, IDStudente integer primary key) DBMS: SQL SERVER (uso hosting somee. com)
INSERT INTO Studenti VALUES ('Bianchi', '12/03/1998', 175, 1); INSERT INTO Studenti VALUES ('Verdi', '23/04/1998', 182, 2) DBMS: SQL SERVER
CREATE TABLE Classi (Anno char (4), Corso varchar(20), IDClasse integer primary key) DBMS: SQL SERVER
CREATE TABLE Appartiene (IDStud int FOREIGN KEY REFERENCES Studenti (IDStudente) ON DELETE CASCADE ON UPDATE CASCADE, IDCla int FOREIGN KEY REFERENCES Classi (IDClasse) ON DELETE CASCADE ON UPDATE CASCADE) DBMS: SQL SERVER, ORACLE, MS ACCESS
SELECT Cognome, Nato, Corso, Anno FROM Studenti, Classi, Appartiene WHERE Id. Classe = Id. Cla AND Id. Studente = Id. Stud; DBMS: SQL SERVER, ORACLE, MS ACCESS
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