Soluzione Verifica Query 3L – 2017

VERIFICA

foto(idFoto, data, luogo, soggetto, tipo)

posizioni(idPosizione, scaffale, ripiano, contenitore, dvd)

assFotoPosizioni(idFotofoto, idPosizioneposizioni)

 

  1. Visualizzare le foto, senza ripetizioni, il cui soggetto inizia con la P e finisce con la o.

 

SELECT idFoto, DISTINCT soggetto

FROM foto

WHERE soggetto LIKE “P%o”

 

  1. Visualizzare il numero di fotografie che contengono la parola Rialto come soggetto.

 

SELECT luogo, COUNT(*) AS NumFoto

FROM foto

WHERE soggetto LIKE “%Rialto%”

 

 

  1. Elencare i luoghi e il numero di fotografie scattate per luogo, ma solo per i luoghi con più di 2 foto scattate. Escludere dalla ricerca i soggetti del tipo “Via”.

 

SELECT luogo, COUNT(*) AS NumFoto

FROM foto

WHERE tipo<>”Via”

GROUP BY luogo

HAVING NumFoto>2

 

  1. Per ogni dvd contare il numero di fotografie per tipologia e considerare solo le foto scattate nel 2017. Escludere dalla ricerca i raggruppamenti aventi meno di 10 foto.

SELECT posizioni.dvd, foto.tipo, COUNT(*) AS NUM

FROM foto, posizioni, assFotoPosizioni

WHERE foto.idFoto=assFotoPosizioni.idFoto

AND assFotoPosizioni.idPosizione=posizioni.idPosizione

AND YEAR(foto.data)=2017

GROUP BY posizioni.dvd, foto.tipo

HAVING NUM>=10