Consultas de selección MySQL


Las consultas de selección se utilizan para solicitar información al motor de la base de datos, que será devuelta como un conjunto de registros que se almacenarán en un objeto recordset. No dejes de ver nuestro tutorial de Introducción al lenguaje SQL Usaremos una tabla sencilla de productos
CONSULTAS BÁSICAS DE SELECCIÓN
SELECT nombre FROM productos;

La consulta devuelve un recordset con el campo nombre de la tabla productos
SELECT nombre, precio FROM productos;

La consulta devuelve un recordset con los campos nombre y precio de la tabla productos
SELECT * FROM productos;

La consulta devuelve un recordset con todos los campos de la tabla
REGISTROS ORDENADOS
Podemos hacer que los registros se ordenen antes de ser devueltos con la cláusula ORDER BY
SELECT nombre, precio FROM productos ORDER BY precio;


La consulta devuelve un recordset con los campos ordenados por precio La cláusula ORDER BY también nos permite ordenar los registros por más de un campo Para ver el resultado de esta consulta hemos añadido un par de registros más a la tabla
SELECT nombre, precio FROM productos ORDER BY precio, nombre;

La consulta devuelve un recordset con los campos ordenados por precio y después por nombre. Como podemos ver, al ser el precio igual, ordena por el nombre. Tambien podemos especificar el orden de los registros con la cláusula ASC (Ascendente) ó DESC (Descendente)
SELECT nombre, precio FROM productos ORDER BY precio DESC;

La consulta devuelve un recordset con los campos ordenados por precio descendente
CRITERIOS DE SELECCIÓN
SQL permite también filtrar los resultados de una consulta, de manera que devuelva sólamente aquellos que cumplan unas condiciones determinadas. Cada vez que se establece una condición que se refiere a un campo de texto, esta condición debe ir entre comillas.
Ej: SELECT * FROM productos WHERE nombre = «Lentejas»;
CONSULTAS CON OPERADORES LÓGICOS
SELECT * FROM productos WHERE precio > 0.90 AND precio < 1.30;

La consulta devuelve todos los registros cuyo precio es mayor que 0.90 y menor que 1.30
SELECT * FROM productos WHERE precio < 0.90 OR precio > 1.30;
La consulta devuelve todos los registros cuyo precio es menor que 0.90 o mayor que 1.30
SELECT nombre, precio FROM productos WHERE precio BETWEEN 0.90 AND 1.45;

La consulta devuelve todos los registros cuyo precio está entre 0.90 y 1.30. Mayor que 0.90 y menor que 1.45
SELECT * FROM productos WHERE nombre = «Mayonesa» OR nombre = «Lentejas»;

La consulta devuelve los registros cuyo nombre = Mayonesa o cuyo nombre = Lentejas
SELECT * FROM productos WHERE nombre = «Mayonesa» OR nombre = «Lentejas» ORDER BY precio DESC;

Igual que la consulta anterior pero ordenando los registros por precio descendente
EL OPERADOR LIMIT
La función de LIMIT es limitar el número de registros devueltos en las consultas SELECT. También el número máximo de registros a borrar en las consultas DELETE.
SELECT * FROM productos LIMIT 5;
La consulta devuelve los 5 primeros registros de la tabla

SELECT * FROM productos ORDER BY precio DESC LIMIT 3;
La consulta devuelve los 3 primeros registros después de ordenar los registros por precio descendente

LIMIT puede recibir 2 parámetros. El primero corresponde al número del primer registro que se devolverá, y el segundo es el número máximo de registros que se devolverán.
SELECT * FROM productos ORDER BY precio DESC LIMIT 4, 3;
La consulta devuelve los registros 5, 6 y 7 después de ordenarlos por precio descendente

EL OPERADOR COUNT
COUNT devuelve el número de registros devueltos de una consulta SELECT.
SELECT COUNT(*) FROM productos;
La consulta devuelve el número de registros de la tabla productos.

SELECT COUNT(*) FROM productos WHERE precio > 1;
La consulta devuelve el número de registros con un precio mayor que 1

EL OPERADOR IN
El operador IN devuelve todos los registros que coincidan con alguno de la lista
SELECT nombre, precio FROM productos WHERE nombre IN(«Lentejas», «Azucar blanco», «Mortadela»);

La consulta devuelve los registros cuyo nombre es Lentejas, Azucar blanco o Mortadela
SELECT nombre, precio FROM productos WHERE nombre NOT IN(«Lentejas», «Azucar blanco», «Mortadela»);

La consulta devuelve los registros cuyo nombre no está en la lista Tutorial en construcción. Pronto actualizaremos el contenido..
Si te ha gustado no olvides compartir en redes sociales.
Espero que te haya servido. Cualquier duda deja un comentario. Un saludo
Una idea sobre “Consultas de selección MySQL”
Hoy 27/05/2020 en plena cuarentena, le quiero decir: ¡Muchas gracias! me ayudaron bastante, gracias por el esmero y la manera tan práctica de enseñar.