La recuperación de registros en una base de datos SQL es una de las tareas más comunes y fundamentales en el desarrollo de aplicaciones. Para ello, se utiliza la sentencia SELECT, que permite seleccionar los datos que se desean recuperar de una o varias tablas.
SELECT
La sintaxis básica de la sentencia SELECT es la siguiente:
SELECT column1, column2, ... FROM table_name;
Donde column1, column2, … son los nombres de las columnas que se desean recuperar y table_name es el nombre de la tabla de la cual se quieren obtener los registros.
Por ejemplo, si se desea recuperar todos los registros de la tabla «clientes» y mostrar solo las columnas «nombre» y «apellido», la sentencia SELECT sería:
SELECT nombre, apellido FROM clientes;
FROM
La cláusula FROM se utiliza para especificar la tabla o tablas de las cuales se desean recuperar los registros. Puede ser una sola tabla o varias tablas separadas por comas.
Por ejemplo, si se desea recuperar los registros de la tabla «clientes» y la tabla «pedidos», la sentencia SELECT sería:
SELECT * FROM clientes, pedidos;
En este caso, el asterisco (*) se utiliza para seleccionar todas las columnas de ambas tablas.
WHERE
La cláusula WHERE se utiliza para filtrar los registros que se desean recuperar, basándose en una condición o conjunto de condiciones.
Por ejemplo, si se desea recuperar los registros de la tabla «clientes» donde el país sea «España», la sentencia SELECT sería:
SELECT * FROM clientes WHERE pais = 'España';
En este caso, solo se recuperarán los registros que cumplan con la condición especificada en la cláusula WHERE.
ORDER BY
La cláusula ORDER BY se utiliza para ordenar los registros recuperados en función de una o varias columnas.
Por ejemplo, si se desea recuperar los registros de la tabla «clientes» ordenados por el apellido de forma ascendente, la sentencia SELECT sería:
SELECT * FROM clientes ORDER BY apellido ASC;
En este caso, los registros se ordenarán alfabéticamente por el apellido en orden ascendente.
GROUP BY
La cláusula GROUP BY se utiliza para agrupar los registros en función de una o varias columnas.
Por ejemplo, si se desea recuperar la cantidad de pedidos realizados por cada cliente de la tabla «clientes», la sentencia SELECT sería:
SELECT cliente_id, COUNT(*) as cantidad_pedidos FROM pedidos GROUP BY cliente_id;
En este caso, los registros se agruparán por el campo «cliente_id» y se mostrará la cantidad de pedidos realizados por cada cliente.
HAVING
La cláusula HAVING se utiliza para filtrar los grupos resultantes de la cláusula GROUP BY, basándose en una condición o conjunto de condiciones.
Por ejemplo, si se desea recuperar los clientes que hayan realizado más de 10 pedidos de la tabla «clientes», la sentencia SELECT sería:
SELECT cliente_id, COUNT(*) as cantidad_pedidos FROM pedidos GROUP BY cliente_id HAVING COUNT(*) > 10;
En este caso, solo se mostrarán los clientes que hayan realizado más de 10 pedidos.
JOIN
La cláusula JOIN se utiliza para combinar registros de dos o más tablas en función de una condición de unión.
Por ejemplo, si se desea recuperar los registros de la tabla «clientes» junto con los registros de la tabla «pedidos» donde el cliente_id sea igual en ambas tablas, la sentencia SELECT sería:
SELECT * FROM clientes JOIN pedidos ON clientes.cliente_id = pedidos.cliente_id;
En este caso, se combinarán los registros de ambas tablas en función de la condición de unión especificada.
LIMIT
La cláusula LIMIT se utiliza para limitar la cantidad de registros recuperados.
Por ejemplo, si se desea recuperar los primeros 10 registros de la tabla «clientes», la sentencia SELECT sería:
SELECT * FROM clientes LIMIT 10;
En este caso, solo se mostrarán los primeros 10 registros de la tabla.
Estas son algunas de las cláusulas y sintaxis más comunes utilizadas para recuperar registros en SQL. Es importante tener en cuenta que la sintaxis puede variar ligeramente dependiendo del sistema de gestión de bases de datos que se esté utilizando.