Ejercicio 1:
Seleccionar todos los partidos de todos los torneos que se jugaron los primeros tres meses del año 2016 utilizando la sentencia BETWEEN
select * from partidos
where fecha between '20160101' and '20160331'
Como pueden ver la sentencia BETWEEN literalmente tal cual lo que significa en inglés es en SQL (entre), la consulta en lenguaje natural sería: "Muestra todos los campos y registros de la tabla país que se encuentren ENTRE el 1 de enero y el 31 de marzo de 2016, veamos otro ejemplo:
Ejercicio 2
Mostrar la fecha, la
hora, el resultado, la asistencia, el nombre del estadio, la capacidad y el
porcentaje de asistencia de acuerdo a la capacidad del estadio únicamente de
aquellos partidos que superaron el 90% de asistencia en el estadio utilizando
la cláusula BETWEEN y HAVING.
select p.fecha, x.jornada, p.equipolocal, p.GolesLocal, p.golesvisitante, p.equipovisitante, x.asistencia, e.nombre, e.capacidad,round((p.asistencia/e.capacidad) * 100,2) as porcentaje
from partidos p
INNER JOIN
(select idtorneo,jornada, max(asistencia) as asistencia
from partidos where idtorneo=11
group by jornada) X
ON X.asistencia = p.asistencia and p.jornada=x.jornada
INNER JOIN ESTADIOs e on e.idestadio = p.idestadio
group by p.asistencia
having round((p.asistencia/e.capacidad) * 100,2) between 90 and 100
Como ven, nuevamente la clausula BETWEEN me esta indicando el rango de porcentaje, y se esta utilizando dentro de la clausula HAVING, recordemos que HAVING es muy similar al WHERE, sin embargo actúa sobre el agrupamiento, por eso es importante que en el GROUP BY, este la asistencia, si no está la asistencia en el GROUP BY, simplemente no funcionará la consulta, nos dirá que no encuentra la columna.
Hasta aquí el post queridos lectores, espero les haya sido de su agrado y utlidad, espero también compartan, den +1, comenten o den clic a algún anuncio patrocinado. Cualquier cosa saben que estoy a sus ordenes.
Saludos!
No hay comentarios.:
Publicar un comentario