20th Jul 2022 Lectura de 10 minutos Las consultas SQL más importantes para principiantes Dorota Wdzięczna SQL aprender SQL princípios básicos de SQL Índice 1. Recuperación de datos de todas las columnas 2. Recuperación de Datos de Ciertas Columnas 3. Filtrado de datos mediante la cláusula WHERE 4. Filtrado de datos mediante condiciones unidas por el operador AND 5. Filtrado de datos mediante condiciones unidas por el operador OR 6. Uso de DISTINCT para recuperar registros no repetidos 7. Recuperación de datos sin NULL en una determinada columna 8. Ordenar los datos según una columna 9. Ordenar los datos según más de una columna 10. Búsqueda de valores que coincidan con un determinado patrón 11. Unir valores de columnas de texto en una cadena 12. Uso de operadores matemáticos 13. Añadir datos de diferentes tablas 14. Encontrar la intersección de conjuntos de datos 15. Cómo unir datos de diferentes tablas 16. Uso de Alias de Tablas y Columnas 17. 17. Contar el número de filas de una tabla 18. Cálculo de la media de los valores de una columna 19. Calcular la suma de los valores de una columna 20. Encontrar el valor mínimo de una columna 21. Encontrar el valor máximo en una columna 22. Cálculo del Valor Agregado para Grupos de Registros 23. 23. Filtrado de filas con funciones agregadas 24. Eliminación de datos de una tabla 25. Eliminación de registros que cumplen una determinada condición de una tabla 26. Inserción de datos en una tabla 27. Actualizar una columna de una tabla 28. Actualizar una columna filtrando registros 29. Creación de una tabla 30. Borrar una tabla Resumen ¿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." Tags: SQL aprender SQL princípios básicos de SQL