miércoles, 1 de junio de 2016

BETWEEN en MySQL (Maria DB)

Buenas tardes queridos lectores, el día de hoy les hablaré sobre la clausula BETWEEN, esta clausula nos permite seleccionar rangos, ya sea de cantidades, fechas, o textos (A-Z) (0-9), siempre se utilizará en la clausula WHERE y su uso es muy sencillo, pero como lo mejor es hacer las cosas, pasaremos directamente a los ejemplos:






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'

Al ejecutar esta sentencia obtendremos el siguiente resultado:




















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!

Banderas de Visitantes

Flag Counter