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 MidDate 7 4MidNato 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(Date(), 7, 4)-Mid([Nato], 7, 4) AS età FROM Studenti; ESEMPIO: CAMPO CALCOLATO (MS ACCESS FUNCTION)
![SELECT Studenti Cognome MidNato 9 2 AS anno FROM Studenti WHERE Not MidNato 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 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 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. 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 SELECT [DISTINCT] <Campo 1> [AS “Alias 1”], <Campo 2> [AS “Alias 2”], … <Campo.](https://slidetodoc.com/presentation_image_h2/7da468c780fe2005260049cfc057457f/image-32.jpg)
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