SELECT Cognome, Nome, strftime('%Y',DataNascita) AS AnnoNascita FROM paziente WHERE Sesso = 'F' ORDER BY AnnoNascita ASC; SELECT * FROM paziente WHERE Cognome like 'N%'; SELECT ROUND(julianday('now')/365) AS AnniJulian; SELECT strftime('%Y','now'); SELECT Cognome, Nome, ROUND((julianday('now')-julianday(DataNascita))/365) AS Età, strftime('%Y','now')-strftime('%Y',DataNascita) AS Age2 FROM paziente; SELECT patientID, PrincipioAttivo, DataInizio FROM terapia WHERE strftime('%Y',DataFine) = '2019'; SELECT patientID, PrincipioAttivo, DataInizio FROM terapia WHERE DataFine like '2019%'; SELECT * FROM dipendenti, paziente WHERE medico = employeeID; SELECT paziente.Cognome, paziente.Nome, dipendenti.Matricola FROM dipendenti JOIN paziente ON medico = employeeID; SELECT DISTINCT paziente.Cognome, paziente.Nome, terapia.Nome AS NomeTerapia FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID ORDER BY paziente.Cognome; SELECT paziente.Cognome,paziente.Nome FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID WHERE terapia.PrincipioAttivo='warfarin'; SELECT DISTINCT paziente.Cognome, paziente.Nome FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID ORDER BY paziente.Cognome; SELECT paziente.Cognome, paziente.Nome, paziente.DataNascita, terapia.Nome AS NomeTerapia FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID WHERE terapia.DataFine<'2015-01-01'; SELECT paziente.Cognome, paziente.Nome, AVG(terapia.costo) AS CostoMedio FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID GROUP BY terapia.patientID ORDER BY CostoMedio LIMIT 1; SELECT paziente.Cognome, paziente.Nome, COUNT(terapia.therapyID) AS NumTer FROM paziente JOIN terapia ON paziente.PatientID=terapia.patientID GROUP BY terapia.patientID HAVING NumTer>1; SELECT paziente.Nome, paziente.Cognome, paziente.Sesso FROM paziente UNION SELECT dipendenti.Nome, dipendenti.matricola, dipendenti.Sesso FROM dipendenti; SELECT patientID FROM (SELECT patientID,SUM(costo) AS CostoTot FROM terapia GROUP BY patientID HAVING CostoTot>25) AS NTer; SELECT CF,patientID FROM paziente WHERE patientID IN (SELECT patientID FROM (SELECT patientID,SUM(costo) AS CostoTot FROM terapia GROUP BY patientID HAVING CostoTot>25)); SELECT CF,paziente.patientID,SUM(costo) as CostoTot FROM paziente JOIN terapia ON paziente.patientID=terapia.patientID GROUP BY paziente.patientID HAVING CostoTot > 25; SELECT Nome, Cognome FROM dipendenti JOIN paziente ON dipendenti.employeeID = paziente.employeeID JOIN terapia ON paziente.patientID = terapia.patientID GROUP BY paziente.patientID HAVING COUNT(terapia.Nome) > 2; SELECT Nome, Cognome FROM dipendenti WHERE employeeID IN(SELECT employeeID FROM paziente WHERE patientID IN (SELECT patientID FROM terapia WHERE patientID IN (SELECT patientID FROM terapia WHERE PrincipioAttivo = 'Diazepam') GROUP BY patientID HAVING COUNT(terapia.Nome)>2)); SELECT Nome, Cognome FROM dipendenti JOIN paziente ON paziente.employeeID = dipendenti.employeeID JOIN terapia WHERE paziente.patientID = terapia.patientID GROUP BY paziente.patientID HAVING COUNT(terapia.Nome)>2; SELECT Nome,Cognome FROM dipendenti WHERE employeeID in (SELECT employeeID FROM paziente WHERE patientID IN( SELECT patientID FROM terapia WHERE patientID IN(SELECT patientID FROM terapia WHERE PrincipioAttivo = 'Diazepam') GROUP BY patientID HAVING COUNT(terapia.Nome)>2 )); SELECT Nome, Cognome FROM dipendenti WHERE employeeID IN( SELECT employeeID FROM paziente WHERE patientID IN( SELECT patientID FROM terapia WHERE patientID IN( SELECT patientID FROM terapia WHERE PrincipioAttivo = 'Diazepam') GROUP BY patientID HAVING COUNT(*) > 2 ) ); SELECT paziente.Cognome,Nome, Cognome FROM dipendenti JOIN paziente ON dipendenti.employeeID = paziente.employeeID JOIN terapia ON paziente.patientID = terapia.patientID GROUP BY paziente.patientID HAVING COUNT(terapia.Nome) > 2; -- dipendeti paziente terapia -- employeeID empolyeeID<->patientID patientID <-> P.Attivo Diazepam, N.terapia >2 SELECT Nome,Cognome FROM dipendenti WHERE employeeID IN ( SELECT employeeID FROM paziente WHERE patientID IN (SELECT patientID FROM terapia WHERE patientID IN (SELECT patientID FROM terapia WHERE PrincipioAttivo = 'Diazepam') GROUP BY patientID HAVING COUNT(terapia.Nome) > 2) ); SELECT Nome, Cognome FROM dipendenti WHERE dipendenti.employeeID IN( SELECT dipendenti.employeeID FROM dipendenti JOIN paziente ON dipendenti.employeeID = paziente.employeeID JOIN terapia ON paziente.patientID = terapia.patientID GROUP BY paziente.patientID HAVING COUNT(terapia.Nome)>2);