Estratto del documento

Clausola From

Trova gli studenti iscritti a inf con cognome Rossi

Select * From stud Where C='Rossi' and CdL='Inf';

Trova gli studenti iscritti a inf con numero di crediti e media esami

Select avg(V), N_C From (Select * from stud where CdL='Inf') S1 join Esup on S1.mat=Ecmat Group by S1.mat, N_C;

Clausola Where

Trova tutti gli studenti che sono nati lo stesso giorno di mat='123'

Select * From stud Where DN=(Select DN From stud Where mat='123');

Trova tutti gli studenti che sono nati lo stesso giorno di mat='123' e della stessa provincia di mat='12X'

Select * From stud Where DN=(Select DN From stud Where mat='123') And PR=(Select PR From stud Where mat='124');

Clausola From

Trova gli studenti iscritti in INF con cognome Rossi

Select * From stud Where C='Rossi' and Col='inf';
Select * From (Select * from stud where Col='inf') Where C='Rossi';

Trova gli studenti iscritti in INF, numero di crediti e media esami

Select AVG(V), N_C From (Select * from stud where Col='inf') S1 Join Esup On S1.Mat=EsC.Mat Group by S1.Mat, N_C;

Clausola WHERE

Trova tutti gli studenti che sono nati lo stesso giorno di mat='123'

Select * From stud Where DN=(Select DN From stud Where Mat='123');

Trova tutti gli studenti che sono nati lo stesso giorno di mat='123' e della stessa provincia di mat='124'

Select * From stud Where DN=(Select DN From stud Where Mat='123') and PR=(Select PR From stud Where Mat='124');

CLAUSOLA HAVING

Quanti studenti ci sono nella stessa provincia di MAT='123'
SELECT COUNT * FROM STUD GROUP BY PR HAVING PR = (SELECT PR FROM STUD WHERE MAT='123');

Esercizio

Per ogni studente che ha fatto più di 2 esami, mostra il suo voto max
SELECT MAX(VOTO) FROM STUD JOIN ESUP ON MAT=C.MAT GROUP BY MAT HAVING COUNT(*) > 2;

Per ogni studente che ha fatto più di 2 esami (mostra nome e cognome) e che ha un voto max maggiore del voto max di Matteo Rossi
SELECT N,C FROM STUD JOIN ESUP ON MAT=C.MAT GROUP BY MAT,N,C HAVING COUNT(*) > 2 AND MAX(V) > (SELECT MAX(V) FROM ESUP WHERE MAT='123');

Valori mancanti

Se ho una somma x1+x2+x3+x4, con alcuni valori NULL, il risultato è un NULL. Basta un solo valore sconosciuto. In SQL ci sono alcune funzioni come: SUM, AVG, MAX, MIN, COUNT. In queste operazioni il database esclude i valori NULL perché ha difficoltà a gestirli.

SELECT AVG(V) FROM E.SUP WHERE MAT='123';
SELECT SUM(V)/COUNT(*) FROM ESUP WHERE MAT='123';

Lezione di laboratorio 12.05.2022

Trovare gli impiegati che hanno più di 2 familiari a carico e che lavorano per il reparto "Logistica"
SELECT M.C.F., Max(ID.Nome), COUNT(CF) AS Numero_Familiar, Max(ID.NumeroRepartimento) FROM (Impiegato l JOIN Familiari e_corso FC ON l.CF= FC.cf_impiegato) JOIN Dipartimento D ON D.numero_dipartimento = ID.numero_repartimento GROUP BY M.C.F, ID.Nome_dipartimento HAVING COUNT(*) > 2 AND Nome_dipartimento = 'Logistica';

Trovare m,c del supervisore che supervisiona il max numero di impiegati
SELECT Sup.CF, MAX(Sup.nome), MAX(Sup.cognome) FROM Impiegato IS JOIN Impiegato Sup ON IS_CF_supervisore = Sup_cf GROUP BY Sup.cf;

Lezione 18/05/2022

Nested Query (riepilogo lez. precedente)

Media voti studenti raggruppati per pronuncia
SELECT AVG(v), PR FROM STUD JOIN ESUP ON MAT= CARD GROUP BY P_I; può essere considerata come tabella e quindi essere innestata in una clausola (from, where, having) di un'altra query. Fino a che livello di profondità possiamo arrivare? È possibile creare un vero albero di query.

Trovare gli studenti che hanno lo stesso cognome dello studente che ha preso voto max a BD
Select * From Stud Where (Select Cognome From Stud s Where Ne = 'BD' and V = (Select Max(u) From Esame Where Ne = 'BD'));

Se nelle where ci fossero stati un insieme di valori, si sarebbe dovuti in un errore perché non è possibile confrontare una sola tupla letta con un insieme dei valori. Esistono perciò alcuni comandi come: IN — Il valore è nella {…}, implicito confronto di uguaglianza: Where Cognome IN {…, …, …} ANY — Connettivo anche confronti in disuguaglianza ALL — Non è possibile la scrittura Cognome = ALL {…, …}.

Anteprima
Vedrai una selezione di 5 pagine su 20
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3), Albano-Ghelli-Orsini Pag. 1 Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3), Albano-Ghelli-Orsini Pag. 2
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3), Albano-Ghelli-Orsini Pag. 6
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3), Albano-Ghelli-Orsini Pag. 11
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3), Albano-Ghelli-Orsini Pag. 16
1 su 20
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/05 Analisi matematica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher vincenzobucciero01 di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Napoli - Parthenope o del prof Maratea Antonio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community