Buenas tardes queridos lectores, el día de hoy entraremos en materia con la sentencia SELECT, anteriormente, ya la habíamos tocado de manera básica, pero hoy la tocaremos de manera un poco más especializada, bueno, aun no entraremos a la parte de los JOIN, pero veremos algunas funciones básicas, que de desprenden del mismo SELECT, ya no los aburro más con tanto texto, mejor pasaremos a lo que nos gusta que es a hacer las cosas. Les pido restauren la base de datos que le proporcioné en el post anterior, se los comparto por si no lo tienen:
Les dejo el diagrama de la relación de las tablas de nuestra base de datos, desde donde haremos nuestras consultas
SELECT
Select se utiliza para recuperar los datos de una o varias tablas, la sentencia básica es la siguiente:
SELECT [campos]from[nombre_tabla] [WHERE] [condición]
Select se podría utilizar también para recuperar filas calculadas sin referencia a ninguna tabla, pero vamos poco a poco, como ejemplo, escribamos la siguiente sentencia:
select 1+1;
Como ven, la base de datos realiza la operación de manera correcta, también respetando la jerarquía de operaciones como en el siguiente ejemplo:
select 5+4*3 as Resultado;
Podemos apreciar como se sigue la jerarquía de operaciones, en este caso primero se realiza la operación 4*3 y después se realiza el +5, es importante prestar atención a la instrucción as, que nos sirve para personalizar el nombre de la columna, en la primera operación del 1+1 no empleamos alias, y nos aparece como nombre de columna la operación realizada y como registro, el resultado, en este caso el nombre de la columna será Resultado, porque, como pueden ver se lo pusimos como alias, este es uno de los múltiples usos del SELECT, pero el más importante de todos, es el de recuperar información de las tablas, como ya lo vimos anteriormente, el ejemplo más básico sería el siguiente:
Ejercicio 1:
Mostrar toda la información de la tabla PARTIDOS utilizando la sentencia SELECT
select * from partidos;
Y nos arrojará la siguiente información:
Como pueden ver, nos arrojará todas las columnas de la tabla PARTIDOS
Ejercicio 2:
Mostrar la información de la tabla PARTIDOS, únicamente nos interesan los partidos del torneo de CLAUSURA 2016
select * from partidos where idtorneo=11;
El ejercicio nos indica claramente que solo queremos los partidos del torneo de Clausura 2016, así que primero consulte la tabla TORNEOS y me di cuenta que el idtorneo del torneo de Clausura 2016 era el idtorneo = 11, así que en la clausula WHERE le indiqué que me mostrara, todas las columnas de la tabla PARTIDOS donde el idtorneo sea igual a 11, el resultado de la consulta se muestra en la siguiente imagen:
Ejercicio 3:
Mostrar únicamente Fecha y hora del partido, jornada, equipo
local, goles del equipo local, goles del equipo visitante y nombre del equipo
visitante, únicamente del torneo de Clausura 2016 y que sean de la jornada 1
select fecha, hora, jornada, equipolocal, goleslocal, equipovisitante, golesvisitante
from partidos
where idtorneo=11
and jornada ='1'
Anteriormente estábamos utilizando el * para mostrar todos los campos, en esta ocasión estamos indicándole al la sentencia SELECT los campos que va a mostrar, esto se realiza en la siguiente línea:
select fecha, hora, jornada, equipolocal, goleslocal, equipovisitante,
golesvisitante
También mediante la cláusula WHERE le estamos indicando que solo del idtorneo=11 que es el torneo de Clausura 2016, pero también (and), que sea únicamente de la jornada 1, esto se realiza en la siguiente línea:
where idtorneo=11
and jornada ='1'
El resultado de la consulta, quedaría como se muestra en la siguiente imagen:
Ejercicio 4:
Mostrar únicamente Fecha y hora del partido, jornada, equipo
local, goles del equipo local, goles del equipo visitante y nombre del equipo
visitante del torneo de Clausura 2016 y el de Ascenso MX Clausura 2016 y que sean de la jornada
1
select fecha, hora, jornada, equipolocal, goleslocal, equipovisitante, golesvisitante
from partidos
where idtorneo in (11,12)
and jornada ='1'
select fecha, hora, jornada, equipolocal, goleslocal, equipovisitante, golesvisitante
from partidos
where idtorneo =11
or idtorneo =1
and jornada ='1';
Ejercicio 5:
Mostrar el nombre de los
equipos mexicanos que están dados de alta en la base de datos, pero mostrarlos alfabéticamente utilizando la sentencia ORDER BY
select idequipo, nombre from equipos
where codigopais='MX'
Al ejecutar esta sentencia, nos mostrará el idequipo, y nombre del equipo mostrados en el órden que se dieron de alta, como se puede apreciar en el campo idequipo.
El ejercicio plantea la idea que se muestren en orden alfabético, por lo cual utilizaremos la sentencia ORDER BY.
La sentencia ORDER BY, nos servirá para ordenar de manera ascendente o descendente el valor de un campo en la base de datos, predeterminadamente la ordenación será ascendente, a menos que le indiquemos lo contrario, probemos con la siguiente sentencia:
select idequipo, nombre from equipos
where codigopais='MX'
order by nombre;
Como ven, se ordena alfabéticamente desde la A-Z, esto se logra en la siguiente línea:
order by nombre;
En esta instrucción solo le indicamos que lo ordenará por nombre, como les mencioné, si no se indica lo contrario, siempre ordenará de forma ascendente, ahora le daremos la instrucción que lo ordene de manera descendente, y para eso se lo indicaremos en el GROUP BY
select idequipo, nombre from equipos
where codigopais='MX'
order by nombre desc;
Como ven, en esta ocasión le indicamos a MySQL (MariaDB), que ordenara el campo NOMBRE de manera descendente, y esto se realizó en la siguiente instrucción:
order by nombre desc;
Hasta aquí la primera parte del tema SELECT, ya vimos la estructura básica, pero hay muchas más funciones que veremos en post posteriores.
Espero haya sido de su agrado y de su utilidad, espero también compartan, comenten, den +1 o algun clic en algún anuncio de su agrado si es que quieren agradecer de manera más lucrativa. En el proximo post veremos algunas funciones como por ejemplo la función COUNT
No hay comentarios.:
Publicar un comentario