Volver a la lista de artículos Artículos
Lectura de 10 minutos

Las consultas SQL más importantes para principiantes

¿Cómo se obtienen datos de una tabla? ¿Cómo se crea o elimina una tabla? ¿Cómo se muestran los registros distintos? ¿Cómo se seleccionan las filas que almacenan un valor específico en una columna? Todo esto se puede hacer fácilmente escribiendo consultas SQL básicas.

Esta guía analiza las 30 consultas SQL más importantes para principiantes. Echemos un vistazo.

1. Recuperación de datos de todas las columnas

Esta es una consulta muy básica para mostrar todos los datos de una tabla. Observe que esta consulta sólo tiene un carácter después de SELECT: "*" (esto denota todas las columnas). Por lo tanto, no es necesario enumerar los nombres de las columnas. Por supuesto, recuerde escribir FROM y el nombre de la tabla de la que desea recuperar los datos. En este ejemplo, estamos recuperando datos de la tabla animal.

SELECT *
FROM animal;

2. Recuperación de Datos de Ciertas Columnas

La consulta anterior muestra todos los datos de la tabla animal. Si desea recuperar sólo los datos de ciertas columnas, enumérelas después de SELECT. En este ejemplo, estamos recuperando datos de las columnas id y name.

SELECT id, name
FROM animal;

3. Filtrado de datos mediante la cláusula WHERE

Además de recuperar los datos de ciertas columnas, también puede filtrar los datos enumerando las condiciones después de WHERE. En este ejemplo, hay una condición: age>=2. Estamos buscando registros con un valor de 2 o más en la columna age.

SELECT id, name, age
FROM animal
WHERE age>=2;

4. Filtrado de datos mediante condiciones unidas por el operador AND

Si desea filtrar los datos utilizando más de una condición, puede utilizar AND. En este ejemplo, buscamos registros con un valor de 2 o más en la columna age y 'dog' en la columna name.

SELECT id, name, age 
FROM animal
WHERE age >= 2 AND name = 'dog';

5. Filtrado de datos mediante condiciones unidas por el operador OR

Si sólo hay que cumplir una de las condiciones, puede utilizar OR. En este ejemplo, buscamos registros con un valor de 2 o más en la columna age o 'dog' en la columna name.

SELECT id, name, age 
FROM animal
WHERE age >= 2 OR name = 'dog';

6. Uso de DISTINCT para recuperar registros no repetidos

Puede colocar DISTINCT después de SELECT para recuperar sólo uno de cada tipo de registro. En este ejemplo, queremos recuperar registros de las columnas name y color. Si los valores de estas columnas son los mismos en más de un registro (por ejemplo, hay más de una camiseta amarilla en la tabla), la consulta devuelve sólo uno de esos registros.

SELECT DISTINCT name, color
FROM clothing;

7. Recuperación de datos sin NULL en una determinada columna

Si desea recuperar los datos sólo de las filas sin NULL en una determinada columna, utilice IS NOT NULL. En este ejemplo, el valor de la columna color puede no ser NULL. Por lo tanto, sólo se devolverán los registros con un valor almacenado en la columna color. Un operador similar a IS NOT NULL es IS NULL, que comprueba si un valor es igual a NULL.

SELECT name, color
FROM clothing
WHERE color IS NOT NULL;

8. Ordenar los datos según una columna

Para ordenar los datos según una columna, coloque el nombre de la columna después de ORDER BY. El método de ordenación por defecto es el alfabético, pero también puede mostrar las filas en orden descendente añadiendo DESC después del nombre de la columna. En este ejemplo, queremos ordenar los datos de las columnas id y name según la columna name.

SELECT id, name 
FROM animal
ORDER BY name;

9. Ordenar los datos según más de una columna

También puede ordenar los datos según más de una columna. En este ejemplo, los registros se ordenan primero según la columna name en orden descendente y después según la columna id en orden ascendente. Si la consulta encuentra registros con el mismo nombre (por ejemplo, todos los registros con 'dog' en el nombre de la columna), ordena estos registros en orden ascendente según id.

SELECT id, name 
FROM animal
ORDER BY name DESC, id;

10. Búsqueda de valores que coincidan con un determinado patrón

Puede utilizar LIKE para recuperar datos que coincidan con un determinado patrón. En este ejemplo, queremos recuperar registros de las columnas id y name que almacenen una cadena que contenga el carácter "e" en la columna name (por ejemplo, registros con nombres como elefante,abeja, etc.)

SELECT id, name 
FROM animal
WHERE name LIKE '%e%';

11. Unir valores de columnas de texto en una cadena

La función CONCAT une cadenas. En este ejemplo, las cadenas almacenadas en las columnas category y name se devuelven como una única columna de cadenas con un espacio entre el valor de la columna category y el valor de la columna name.

SELECT CONCAT(category, ' ', name) 
FROM tab;

12. Uso de operadores matemáticos

Puede escribir consultas para calcular valores utilizando operadores matemáticos como "+", "-", "*" y "/". En este ejemplo, queremos calcular el precio con descuento restando el valor de la columna discount del valor de la columna price.

SELECT price - discount
FROM product;

13. Añadir datos de diferentes tablas

Puede unir registros de diferentes tablas utilizando el operador UNION ALL. Recuerde que los registros deben ser del mismo tipo de datos. En este ejemplo, queremos recuperar todas las filas con apellidos de la tabla customer y todas las filas con apellidos de la tabla employee. Se recuperarán todos los apellidos, aunque estén repetidos. Si queremos seleccionar todos los apellidos sin repeticiones, utilizaríamos UNION en lugar de UNION ALL.

SELECT last_name FROM customer
UNION ALL
SELECT last_name FROM employee;

14. Encontrar la intersección de conjuntos de datos

INTERSECT devuelve la intersección de dos conjuntos de datos. En este ejemplo, sólo queremos recuperar los apellidos que aparecen en ambas tablas. Para ver las diferencias entre los conjuntos, utilice los operadores MINUS o EXCEPT.

Si quieres saber más sobre los operadores de conjuntos y ver la explicación visual de este concepto, lee este artículo.

SELECT last_name FROM customer
INTERSECT
SELECT last_name FROM employee;

15. Cómo unir datos de diferentes tablas

Puede unir tablas utilizando JOIN, incluyendo INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, y CROSS JOIN (por favor, vea los cursos listados al final de este artículo para más información). En este ejemplo, queremos unir los datos de las tablas customer y city. INNER JOIN tiene que ir después de FROM y del nombre de la primera tabla, customer. Después de INNER JOIN, coloque el nombre de la segunda tabla, city. Los registros con datos de ambas tablas son emparejados por ON con la condición de unir. Los registros de la tabla city se emparejan con los registros de la tabla customer si tienen el mismo valor en la columna id de la tabla customer y en la columna customer_id de la tabla city.

SELECT customer.last_name, city.name 
FROM customer
INNER JOIN city 
  ON customer.id = city.customer_id;

16. Uso de Alias de Tablas y Columnas

Si se unen tablas, es una buena idea utilizar alias para los nombres de las tablas y las columnas. En este ejemplo, queremos unir dos tablas customer y cityy nombrarlas como c y trespectivamente. Definimos estos nuevos nombres en FROM o JOIN, utilizando AS. Del mismo modo, cambiamos el nombre de las columnas last_name en la tabla customer y name en la tabla city como lname y city, respectivamente.

SELECT c.last_name AS lname, t.name AS city
FROM customer AS c
INNER JOIN city AS t
  ON c.id = t.customer_id;

17. 17. Contar el número de filas de una tabla

COUNT cuenta el número de filas. En este ejemplo, devuelve el número de valores de la columna id almacenados en la tabla product (el número de todos los productos).

SELECT COUNT(id)
FROM product;

18. Cálculo de la media de los valores de una columna

Puede calcular la media de los valores de una columna utilizando AVG. En este ejemplo, la consulta devuelve el precio medio de todos los productos de la tabla product.

SELECT AVG(price)
FROM product;

19. Calcular la suma de los valores de una columna

SUM calcula la suma de los valores de una columna. En este ejemplo, devuelve el valor de todos los productos.

SELECT SUM(price)
FROM product;

20. Encontrar el valor mínimo de una columna

Puede encontrar el valor mínimo almacenado en una columna utilizando MIN. En este ejemplo, la consulta devuelve el precio mínimo entre los productos.

SELECT MIN(price)
FROM product;

21. Encontrar el valor máximo en una columna

Puede encontrar el valor máximo almacenado en una columna utilizando MAX. En este ejemplo, la consulta devuelve el precio máximo entre los productos.

SELECT MAX(price)
FROM product;

22. Cálculo del Valor Agregado para Grupos de Registros

La función GROUP BY coloca las filas en grupos para calcular un valor. En este ejemplo, utilizamos COUNT para calcular el número de filas (el número de productos) en cada grupo (category). Las columnas en SELECT tienen que ser puestas en la cláusula GROUP BY. GROUP BY puede ser usado de la misma manera con otras funciones agregadas como MAX, MIN, AVG, y SUM.

SELECT category, COUNT(id)
FROM product
GROUP BY category;

23. 23. Filtrado de filas con funciones agregadas

Puede filtrar los registros después de calcular los valores de cada grupo utilizando HAVING. En este ejemplo, queremos recuperar las categorías con un precio medio de los productos inferior a 56,50.

SELECT category, AVG(price)
FROM product
GROUP BY category
HAVING AVG(price) < 56.50;

24. Eliminación de datos de una tabla

DELETE FROM elimina todos los datos de una tabla. En este ejemplo, queremos eliminar todos los datos de la tabla product.

DELETE FROM product;

25. Eliminación de registros que cumplen una determinada condición de una tabla

Puede eliminar los registros que cumplan una determinada condición utilizando WHERE. En este ejemplo, queremos eliminar los registros de la tabla product con id igual a 5.

DELETE FROM product
WHERE id = 5;

26. Inserción de datos en una tabla

Puede añadir un nuevo registro a una tabla utilizando INSERT INTO. Después de INSERT INTO, ponga el nombre de la tabla y luego entre paréntesis los nombres de las columnas de la tabla. Después de eso, ponga VALUES y luego entre paréntesis los valores de las columnas. En este ejemplo, queremos insertar 25 en id, 'sofa' en name, y 'furniture' en category en la tabla product.

INSERT INTO product(id, name, category) 
VALUES(25, 'sofa', 'furniture');

27. Actualizar una columna de una tabla

UPDATE permite modificar los datos de los registros. Después de UPDATE, ponga el nombre de la tabla, luego SET, y después el nombre de la columna a modificar con "=" y el nuevo valor a insertar. Esta consulta modifica todos los valores de la columna. En este ejemplo, queremos cambiar todos los valores de la columna company por 'ABC'.

UPDATE product SET company = 'ABC';

28. Actualizar una columna filtrando registros

Sin embargo, si no quiere cambiar todos los valores de una columna, puede añadir WHERE con una condición. En la condición, puede especificar qué registros modificar. En este ejemplo, queremos cambiar los valores de la columna name a 'armchair' sólo para los registros con id=25.

UPDATE product
SET name = 'armchair'
WHERE id = 25;

29. Creación de una tabla

Puede crear una tabla utilizando CREATE TABLE. Después de CREATE TABLE, ponga el nombre de la tabla y defina entre paréntesis los nombres de las columnas y sus tipos de datos. En este ejemplo, queremos crear la tabla tab con dos columnas: id con un tipo de dato entero y name limitada a un máximo de 50 caracteres.

CREATE TABLE tab(id int, name varchar(50));

30. Borrar una tabla

Puede eliminar una tabla utilizando DROP TABLE. Simplemente ponga el nombre de la tabla que quiere borrar después de DROP TABLE. En este ejemplo, queremos eliminar la tabla tab.

DROP TABLE tab;

Resumen

Las consultas descritas anteriormente son las más utilizadas tanto por los principiantes como por los profesionales. Estas consultas son necesarias para crear o eliminar una tabla, insertar datos en una tabla, actualizar registros o eliminar datos de una tabla.

¿Quieres aprender más sobre la creación y eliminación de tablas? ¿Te gustaría sumergirte en la inserción, actualización y eliminación de datos en SQL? Echa un vistazo a estos útiles cursos en los que podrás adquirir experiencia práctica: "Creación de tablas en SQL" y"Cómo insertar, actualizar o eliminar datos en SQL"."

Si quieres aprender más sobre la comprobación de datos en una tabla, el filtrado de datos, el cálculo de valores agregados en columnas o grupos y la búsqueda de valores que coincidan con un patrón, consulta nuestro curso "SQL para principiantes"y su conjunto de prácticas.

Si quieres aprender más sobre la unión de datos de más de dos tablas, perfecciona tus habilidades con el curso "Tipos de JOIN en SQL."