MySQL Declaración SELECT con ejemplos
⚡ Resumen inteligente
El MySQL La instrucción SELECT recupera filas de una o más tablas, y cada ejemplo a continuación se ejecuta en la base de datos de ejemplo myflix, pasando de la consulta simple con asterisco a expresiones, alias de columna y funciones de cadena.

¿Qué es una consulta SELECT en MySQL?
Consulta SELECT se utiliza para obtener datos del MySQL base de datos. Las bases de datos almacenan datos para su posterior recuperación. El propósito de MySQL La instrucción SELECT devuelve una o más filas de las tablas de la base de datos que coinciden con un criterio determinado. Una consulta SELECT se puede usar en un lenguaje de programación como PHP o Ruby, o se puede ejecutar desde la línea de comandos.
Dado que SELECT es el comando que ejecutarás con mayor frecuencia, conviene aprender su sintaxis antes de trabajar con los datos de ejemplo.
Sintaxis de la sentencia SQL SELECT
SELECT es el comando SQL más utilizado y tiene la siguiente sintaxis general:
SELECT [DISTINCT|ALL] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName(s)] [HAVING condition] [ORDER BY fieldName(s)];
AQUÍ
- SELECT es la palabra clave SQL que le permite a la base de datos saber que desea recuperar datos.
- [DISTINTO | TODOS] son palabras clave opcionales que permiten ajustar los resultados devueltos por la instrucción SQL SELECT. Si no se especifica nada, se asume ALL como valor predeterminado.
- {*| [expresión de campo [AS nuevo nombre]} Se debe especificar al menos una parte. “*” selecciona todos los campos de la tabla especificada; fieldExpression realiza cálculos en los campos especificados, como sumar números o unir dos campos de cadena en uno solo.
- DESDE El campo tableName es obligatorio y debe contener al menos una tabla. Si hay varias tablas, deben separarse con comas o unirse mediante la palabra clave JOIN.
- Dónde La condición es opcional. Especifica los criterios en el conjunto de resultados devuelto por la consulta.
- GRUPO POR Se utiliza para juntar registros que tienen los mismos valores de campo.
- TENIENDO La condición se utiliza para especificar criterios al trabajar con la palabra clave GROUP BY.
- ORDEN POR se utiliza para especificar el orden de clasificación del conjunto de resultados.
*
El símbolo de estrella selecciona todas las columnas de una tabla. Una sentencia SELECT simple se ve como la que se muestra a continuación.
SELECT * FROM `members`;
La instrucción anterior selecciona todos los campos de la tabla de miembros. El punto y coma sirve para terminar la instrucción. No es obligatorio, pero se considera una buena práctica finalizar las instrucciones de esta manera.
SELECCIONAR DISTINTO y LIMITAR en MySQL
Merecen un análisis más detallado dos palabras clave opcionales en la sintaxis, ya que los principiantes las encuentran en cuanto la tabla crece.
DISTINCT Elimina las filas duplicadas del conjunto de resultados. La tabla de películas almacena varias películas estrenadas en 2007, por lo que una consulta simple repite ese año. DISTINCT devuelve cada valor una sola vez.
SELECT DISTINCT `year_released` FROM `movies`;
LIMITE LAS Limita el número de filas devueltas, lo que protege al cliente de una consulta que, de otro modo, recuperaría millones de registros.
SELECT * FROM `movies` LIMIT 5;
| Palabra clave | ¿Qué hace? | Cuando usarlo |
|---|---|---|
| TODOS (predeterminado) | Devuelve todas las filas coincidentes, incluyendo los duplicados. | Contar o listar registros brutos |
| DISTINCT | Combina filas duplicadas en una sola. | Elaboración de una lista de valores únicos |
| LIMITE LAS | Devuelve solo las primeras N filas. | Previsualización de datos o paginación de resultados |
Una vez definida la sintaxis, la base de datos de ejemplo da vida a estas cláusulas.
Ejemplos prácticos de la sentencia SELECT
Haz clic para descargar La base de datos de Myflix se utilizó para los ejemplos prácticos.
Puedes aprender cómo importar el archivo .sql en MySQL Banco de trabajo.
Los ejemplos se realizan en las dos tablas siguientes.
Tabla 1: miembros mesa
| número de socio | nombres completos | género | fecha de nacimiento | dirección física | direccion postal | número de contacto | o enviar un email. |
|---|---|---|---|---|---|---|---|
| 1 | Janet jones | Mujer | 21-07-1980 | Primera Calle Parcela No 4 | Bolsa privada | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Mujer | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Roberto Phil | Hombre | 12-07-1989 | Calle 3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | gloria williams | Mujer | 14-02-1984 | Calle 2 23 | NULL | NULL | NULL |
Tabla 2: películas mesa
| id_película | título | director | año_de lanzamiento | categoria ID |
|---|---|---|---|---|
| 1 | Piratas del Caribe 4 | Rob Marshall | 2011 | 1 |
| 2 | Olvidando a Sarah Marshal | Nicolás Stoller | 2008 | 2 |
| 3 | X-Men | NULL | 2008 | NULL |
| 4 | Code Nombre Negro | Edgar Jimz | 2010 | NULL |
| 5 | Las niñas de papá | NULL | 2007 | 8 |
| 6 | Ángeles y demonios | NULL | 2007 | 6 |
| 7 | Da Vinci Code | NULL | 2007 | 6 |
| 9 | Honey moonERS | Juan Schultz | 2005 | 8 |
| 16 | 67% culpable | NULL | 2012 | NULL |
Obtener listado de miembros
Supongamos que queremos obtener una lista de todos los miembros registrados de la biblioteca en nuestra base de datos. Para ello, usaríamos el script que se muestra a continuación.
SELECT * FROM `members`;
Ejecutando el script en MySQL Workbench produce los siguientes resultados.
| número de socio | nombres completos | género | fecha de nacimiento | dirección física | direccion postal | número de contacto | o enviar un email. |
|---|---|---|---|---|---|---|---|
| 1 | Janet jones | Mujer | 21-07-1980 | Primera Calle Parcela No 4 | Bolsa privada | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Mujer | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Roberto Phil | Hombre | 12-07-1989 | Calle 3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | gloria williams | Mujer | 14-02-1984 | Calle 2 23 | NULL | NULL | NULL |
La consulta devolvió todas las filas y columnas de la tabla de miembros.
Selección de columnas específicas
Supongamos que solo nos interesan los campos full_names, gender, physical_address y email. El siguiente script lo consigue.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Ejecutando el script en MySQL Workbench produce los siguientes resultados.
| nombres completos | género | dirección física | o enviar un email. |
|---|---|---|---|
| Janet jones | Mujer | Primera Calle Parcela No 4 | janetjones@yagoo.cm |
| Janet Smith Jones | Mujer | Melrose 123 | jj@fstreet.com |
| Roberto Phil | Hombre | Calle 3 34 | rm@tstreet.com |
| gloria williams | Mujer | Calle 2 23 | NULL |
Obtener listados de películas con expresiones
También se pueden usar expresiones en las sentencias SELECT. Por ejemplo, si queremos una lista de películas con el título y el nombre del director en un campo, el director entre paréntesis y el año de estreno, el siguiente script lo hará.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
AQUÍ
- La función Concat() MySQL Esta función combina los valores de las columnas.
- La línea “Concat(`title`, ' (', `director`, ')')” obtiene el título, agrega un corchete de apertura seguido del nombre del director y luego agrega el corchete de cierre.
- Las partes de la cadena se separan mediante comas dentro de la función Concat().
Ejecutando el script en MySQL Workbench produce el siguiente conjunto de resultados.
| Concat(`título`, ' (', `director`, ')') | año_de lanzamiento |
|---|---|
| Piratas del Caribe 4 (Rob Marshall) | 2011 |
| Olvidando a Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Code Nombre Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey mooners (John Schultz) | 2005 |
| NULL | 2012 |
Nota: La función Concat() devuelve NULL cuando alguno de sus argumentos es NULL, por eso las películas sin director muestran NULL arriba.
Nombres de campos de alias
El ejemplo anterior devolvió el código de concatenación como nombre del campo. Para usar un nombre de campo más descriptivo en el conjunto de resultados, aplique un alias de columna. A continuación se muestra la sintaxis básica.
SELECT `column_name|value|expression` [AS] `alias_name`;
AQUÍ
- “SELECT `column_name|value|expression`” es la instrucción SELECT estándar, que puede ser un nombre de columna, un valor o una expresión.
- "[COMO]" es la palabra clave opcional antes del nombre del alias.
- “`alias_nombre`” es el alias que se devuelve en el conjunto de resultados como nombre del campo.
La misma consulta con un nombre de columna más significativo:
SELECT Concat(`title`, ' (', `director`, ')') AS `Concat`, `year_released` FROM `movies`;
Obtenemos el siguiente resultado.
| concat | año_de lanzamiento |
|---|---|
| Piratas del Caribe 4 (Rob Marshall) | 2011 |
| Olvidando a Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Code Nombre Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey mooners (John Schultz) | 2005 |
| NULL | 2012 |
Obtener la lista de miembros que muestra el año de nacimiento
Supongamos que queremos una lista de todos los miembros que muestre el número de membresía, los nombres completos y el año de nacimiento. Podemos usar la función de cadena LEFT para...tract el año de nacimiento del campo de fecha de nacimiento.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
AQUÍ
- “IZQUIERDA(`fecha_de_nacimiento`,4)” <font dir="auto" style="vertical-align: inherit;">las </font> Función de cadena IZQUIERDA Acepta la fecha de nacimiento como parámetro y devuelve solo 4 caracteres desde la izquierda.
- “COMO `año_de_nacimiento`” son los nombre de alias de columna regresó en nuestros resultados. El La palabra clave AS es opcional; puedes omitirlo y la consulta seguirá funcionando.
Ejecutando la consulta en MySQL La comprobación realizada en Workbench con la base de datos myflixdb nos proporciona los resultados que se muestran a continuación.
| número de socio | nombres completos | año de nacimiento |
|---|---|---|
| 1 | Janet jones | 1980 |
| 2 | Janet Smith Jones | 1980 |
| 3 | Roberto Phil | 1989 |
| 4 | gloria williams | 1984 |
Las consultas escritas a mano son solo una de las maneras de obtener un conjunto de resultados. Workbench también puede generar la consulta automáticamente.
SQL usando MySQL Banco de trabajo
ahora vamos a usar MySQL Workbench para generar el script que muestra todos los nombres de los campos de nuestra tabla de categorías.
1. Haga clic con el botón derecho en la tabla Categorías. Haga clic en “Seleccionar filas – Limitar a 1000”.
2. MySQL Workbench crea automáticamente una consulta SQL y la pega en el editor.
3. Los resultados de la consulta se muestran en la cuadrícula que aparece debajo del editor.
Como muestra la captura de pantalla, no escribimos nosotros mismos la sentencia SELECT. MySQL Workbench lo generó por nosotros.
¿Por qué usar el comando SQL SELECT cuando tenemos MySQL ¿Banco de trabajo?
Quizás te estés preguntando por qué deberías aprender el comando SQL SELECT cuando una herramienta como MySQL Workbench devuelve los mismos resultados sin ningún conocimiento del lenguaje SQL. Ese atajo es posible, pero aprender el comando SELECT te da mas flexibilidad y control sobre tu Sentencias SELECT de SQL.
MySQL Workbench entra en la categoría de “Consulta por ejemploHerramientas ” (QBE). Su objetivo es generar sentencias SQL más rápidamente y aumentar la productividad del usuario.
Aprender el comando SQL SELECT te permite crear consultas complejas que no se pueden generar fácilmente mediante utilidades de consulta por ejemplo como MySQL Banco de trabajo.
Para mejorar la productividad, puedes generar el código en MySQL Banco de trabajo, luego personalizan a cumplir con sus requisitosEso solo es posible una vez que se comprende cómo funcionan las sentencias SQL.



