Buscar este blog

miércoles, 5 de junio de 2013

Examen SQL

1/ Muestra el nombre del barrio y todos los apartamentos que estén situados en esos barrios cuyo precio sea superior a 350€:

Select b.nombre as 'nombre barrio', a.edificio, a.domicilio, a.piso, a.numeroapto from barrios as b join apartamentos as a on b.codigo=a.codigobarrio where a.precio>350;


2/ Muestra todos los registros y un mensaje que ponga ‘caro’ si el precio de un apartamento supera los 350€

select *, if(precio>350, 'caro', ' ') from barrios as b join apartamentos as a on b.codigo=a.codigobarrio;

3/ Muestra el promedio de los apartamentos agrupados por barrio:

select b.nombre, avg (a.precio) from barrios as b join apartamentos as a on b.cdigo=a.codigobarrio group by b.nombre

4/ Muestra todos los barrios y apartamentos, incluso aquellos barrios en los que no hayan apartamentos:


select * from barrios as b left join apartamentos as a on b.codigo=a.codigobarrio;

5/ Agrupando por nombre de barrio, muestra el nombre del barrio, la media del precio del barrio y cuenta la cantidad de apartamentos que hay en cada barrio.
Además, muestra un mensaje en el que aparezca una nueva media de la siguiente forma: si la media del barrio es mayor a 400€, la nueva media aumentaría un 15%, pero si es menor de 400€, la nueva media aumenta un 10%:


select b.nombre, avg(precio), count(a.numeroapto), if(avg(a.precio)>400, avg(a.precio)+(avg(a.precio)*0.15), avg(a.precio)+(avg(a.precio)*0.1))as medias from barrios as b join apartamentos as a on b.codigo=a.codigobarrio group by b.nombre;

No hay comentarios:

Publicar un comentario