Ver destacados

Cómo usar subselect en MySQL

Si quieres ahorrar tiempo en la búsqueda con resultados buenos y fiables en MySQL, no olvides guardar este tutorial sobre cómo usar el parámetro subselect.
Escrito por
35.6K Visitas  |  Publicado sep 19 2016 12:35
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Dentro de las múltiples tareas que ejecutamos a diario con MySQL están los reportes, consultas de tablas en ocasiones de gran tamaño, alterar o crear tablas MySQL, importar archivos CSV, seleccionar registros, entre otras. Existe un parámetro llamado Subselect el cual nos ayuda a reducir esta búsqueda notablemente y nos arroja resultados óptimos.

 

Qué es subselect en MySQL
La sentencia subselect o también conocida como Inner Query es básicamente una consulta dentro de otra consulta de SQL la cual está integrada con una sentencia where.

 

Esta sentencia subselect la podemos usar para devolver datos que van a ser usados en la consulta principal.

 

La sintaxis básica que maneja subselect es la siguiente:

SELECT column_name [, column_name ] 
FROM   table1 [, table2 ]
WHERE  column_name OPERATOR	   
(SELECT column_name [, column_name ]
FROM table1 [, table2 ]
[WHERE])
Con esta sintaxis funciona.

 

Usando Subselect en MySQL

Para este análisis usaremos la tabla llamada solvetic_mysql.

 

 

Y tenemos una tabla llamada Solvetic.

 

 

A continuación vamos a mostrar un ejemplo de cómo usar subselect en MySQL según las tablas anteriores. Supongamos que deseamos ver en la tabla solvetic_mysql la fecha de expiración antigua.

 

Para ello ingresaremos la siguiente sintaxis:

SELECT * FROM solvetic.solvetic_mysql where expired_date = (select min(expired_date) from solvetic.solvetic_mysql)
Como vemos estamos usando un select dentro de otro select y estamos indicando que de la tabla solvetic_mysql se busque el valor mínimo (min) en la columna expired_date.

 

El valor desplegado es el siguiente si seleccionamos únicamente la siguiente sección:

select min(expired_date) from solvetic.solvetic_mysql

 

Si seleccionamos toda la línea veremos lo siguiente:

 

 

Otro ejemplo que podemos usar es el siguiente:

 

Supongamos que deseamos ver los sistemas operativos más usados en el período, para ello usaremos datos de las tablas solvetic_mysql y solvetic.

 

La idea es que de la tabla solvetic busquemos los nombres de los sistemas operativos (columna nombre) que se repitan en la columna title de la tabla solvetic_mysql.

 

Para ello ingresamos lo siguiente:

SELECT * FROM solvetic.solvetic where nombre in (select title name from solvetic.solvetic_mysql)
El resultado obtenido será el siguiente:

 

 

Podemos ver que los sistemas que no están registrados en la tabla solvetic no figuran dentro del resultado general. Como vemos la opción subselect nos es muy útil para obtener diversa información usando otras sentencias en MySQL.

 

Para más información acerca de las sentencias en MySQL podemos ir al siguiente enlace:

 

 Sentencias MySQL

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!