SQL Structured Query Language LA SINTASSI ESEMPIO ESEMPIO

  • Slides: 52
Download presentation
SQL Structured Query Language

SQL Structured Query Language

LA SINTASSI

LA SINTASSI

ESEMPIO

ESEMPIO

ESEMPIO

ESEMPIO

SELECT Studenti. Cognome FROM Studenti GROUP BY Studenti. Cognome HAVING Studenti. Cognome>’m' ESEMPIO: HAVING

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

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,

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. 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

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

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. 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

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

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

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',

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

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

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.

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

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

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

>> SQL >> FUNZIONI SQL