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.

  • šŸ”Ž Propósito principal: SELECT recupera filas almacenadas que coinciden con un criterio, desde el sĆ­mbolo del sistema o desde PHP, Pythony otros idiomas.
  • 🧩 Orden de sintaxis: Las clĆ”usulas SELECT, FROM, WHERE, GROUP BY, HAVING y ORDER BY deben aparecer en esa secuencia fija.
  • ⭐ Atajo de estrella: SELECT * FROM `members`; devuelve todas las columnas, mientras que nombrar las columnas explĆ­citamente mantiene los conjuntos de resultados mĆ”s pequeƱos y rĆ”pidos.
  • šŸ”— Expresiones: La función CONCAT() une los valores de las columnas y la función LEFT() elimina los caracteres, de modo que los campos calculados aparecen directamente en el conjunto de resultados.
  • šŸ·ļø Alias ​​de columna: La palabra clave opcional AS renombra cualquier expresión, reemplazando encabezados ilegibles como Concat(`title`) con etiquetas claras.
  • šŸ–±ļø Comparación de bancos de trabajo: MySQL Workbench genera consultas visualmente, pero las sentencias SELECT escritas a mano siguen siendo necesarias para una recuperación de datos compleja y precisa.

¿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.

SELECCIONAR consulta en MySQL

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.

SQL utilizando MySQL Banco de trabajo

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.

”Comprende la MySQL Instrucción SELECT

Preguntas Frecuentes

Generalmente sƭ. SELECT * lee todas las columnas, incluidos los campos de texto y BLOB grandes que quizƔs no necesites, y bloquea los ƭndices de cobertura. Nombrar las columnas reduce el tamaƱo del conjunto de resultados y acelera la consulta.

Las palabras clave como SELECT y FROM no distinguen entre mayúsculas y minúsculas. Las comparaciones de cadenas siguen la intercalación de la columna, por lo que una intercalación que no distingue entre mayúsculas y minúsculas, como utf8mb4_0900_ai_ci, trata a "Janet" y "janet" como iguales.

Un Ć­ndice faltante es la causa habitual. Ejecute EXPLAIN antes de la consulta para ver si MySQL Realiza un escaneo completo de la tabla, luego indexa las columnas filtradas o unidas y devuelve solo las filas que necesita.

Sí. Los asistentes de conversión de texto a SQL transforman una solicitud simple en una instrucción SELECT una vez que conocen su esquema. RevRevisa las uniones y los filtros generados, porque un modelo de IA puede inventar nombres de columnas que no existen.

No. La IA elabora una consulta rÔpidamente, pero aún así debes verificar la lógica, las uniones y el rendimiento en MySQL Banco de trabajoConocer SELECT es lo que te permite detectar un resultado erróneo antes de que llegue a producción.

Resumir este post con: