En este nuevo post vamos a ver la sentencia de MySQL SELECT, su funcionalidad es la de realizar consultas sobre una o varias tablas de una base de datos para extraer un determinado número de filas (resultados).
Otras sentencias de MySQL que os pueden ser útiles:
Sintaxis de MySQL SELECT
Veamos la sintaxis extraída de su web oficial:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [PARTITION partition_list] [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]] |
Repasemos brevemente la sintaxis superior:
- Con SELECT podemos seleccionar una o varias columnas de datos.
- FROM table_references nos vale para seleccionar una o varias tablas que almacenan las columnas previamente indicadas.
- En WHERE where_condition se especifican la o las condiciones que se deben cumplir para los valores solicitados.
Dentro de la claúsula WHERE tenemos los siguientes condicionantes que son importantes y útiles:
- GROUP BY: Nos permite agrupar los datos obtenidos de la base de datos.
- HAVING: Permite hacer cálculos y condiciones más complejas que no se pueden hacer con la cláusula WHERE.
- ORDER BY: Ordenación por columna.
- LIMIT: Especificación del número de filas devueltas.
Ejemplos de MySQL SELECT
Vamos a comenzar con estos sencillos ejemplos, más adelante iré poniendo algunos más complejos con los condicionantes anteriormente mencionados:
1 |
SELECT * FROM usuarios |
Con el ejemplo superior estamos seleccionando todas las columnas (SELECT *) de la tabla usuarios, se devolverán todas las filas ya que no tenemos ningún condicionante con WHERE.
1 |
SELECT nombre FROM usuarios |
Con el ejemplo superior estamos seleccionando la columna ‘nombre’ de la tabla usuarios, se devolverán todas las filas ya que no tenemos ningún condicionante con WHERE.
1 |
SELECT nombre, apellidos FROM usuarios |
Con el ejemplo superior estamos seleccionando las columnas ‘nombre y apellidos’ de la tabla usuarios, se devolverán todas las filas ya que no tenemos ningún condicionante con WHERE.
1 |
SELECT nombre, apellidos FROM usuarios, clientes |
Con el ejemplo superior estamos seleccionando las columnas ‘nombre y apellidos’ de 2 tablas distintas, se devolverán todas las filas ya que no tenemos ningún condicionante con WHERE.
1 |
SELECT nombre FROM usuarios WHERE edad = 30 |
Con el ejemplo superior estamos seleccionando la columna nombre de la tabla usuarios, se devolverán todos los nombres de usuario cuya edad sea igual a 30.