Power BI: Mostrar duplicados en el objeto visual de tabla
ToggleSQL y hoja de referencia rápida de consultas SQL
En el mundo moderno de hoy, los datos se han vuelto más importantes que nunca, lo que convierte a SQL en la herramienta más utilizada para administrar y analizar estos datos. Sin embargo, dominar todos los comandos y consultas SQL puede ser desalentador para los principiantes e incluso para los desarrolladores experimentados. Por lo tanto, he creado esta hoja de trucos de comandos SQL que proporciona las instrucciones SQL de uso común para su referencia.
Descargue la hoja de referencia en PDF aquí.
Esto es lo que aprenderás en esta guía:
- ¿Qué es SQL?
- Comandos del lenguaje de manipulación de datos (DML)
- Comandos del lenguaje de definición de datos (DDL)
- Comandos del lenguaje de control de datos (DCL)
- Comandos de control de transacciones
- Consulta de comandos de datos
- Comandos de unión de tablas
- Comandos de subconsultas
- Comandos de funciones agregadas
- Comandos de funciones de cadena
- Funciones de fecha y hora Comandos
- Comandos de expresiones condicionales
- Establecer comandos de operaciones
¿Qué es SQL?
SQL, una forma abreviada de lenguaje de consulta estructurado, es un lenguaje de programación para administrar y manipular datos en una base de datos.
Los analistas de datos, los desarrolladores y los administradores de bases de datos utilizan SQL para almacenar, recuperar, administrar y manipular datos dentro de una base de datos.
Comandos del lenguaje de manipulación de datos (DML)
Los comandos del lenguaje de manipulación de datos (DML) son instrucciones SQL que se utilizan para consultar, insertar, actualizar y eliminar datos de tablas de bases de datos.
Estos son los principales comandos DML:
1. SELECCIONE
El comando SELECT recupera datos de una base de datos.
Sintaxis:
1 SELECT column1, column2 FROM table_name;
En la sintaxis, column1 y column2 son los nombres de campo de la tabla de la que desea seleccionar datos. El table_name representa el nombre de la tabla de la que desea seleccionar datos.
2. INSERTAR
El comando INSERT agrega nuevos registros a una tabla.
Sintaxis:
1 INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Ejemplo:
1 INSERT INTO customers (first_name, last_name) VALUES ('Mary', 'Doe');
En la consulta anterior, el valor se inserta en la columna y el valor se inserta en la columna de una tabla llamada .
Mary
first_name
Doe
last_name
customers
3. ACTUALIZACIÓN
El comando UPDATE se utiliza para modificar los registros existentes en una tabla.
Sintaxis:
1 UPDATE table_name SET column1 = value1, column2 = value
2 WHERE condition;Ejemplo:
1 UPDATE employees SET employee_name = ‘John Doe’, department = ‘Marketing’;
En la consulta anterior, estamos actualizando la columna a y la columna a en una tabla llamada .
employee_name
John Doe
department
Marketing
employees
4. ELIMINAR
El comando SUPR elimina los registros de una tabla.
Sintaxis:
1 DELETEFROM table_name WHERE condition;
Ejemplo:
1 DELETEFROM employees WHERE employee_name = ‘John Doe’;
En este ejemplo, vamos a eliminar filas de la tabla en las que el archivo es .
employees
employee_name
John Doe
Comandos del lenguaje de definición de datos (DDL)
Los comandos del lenguaje de definición de datos (DDL) son instrucciones SQL que se utilizan para crear, modificar y quitar objetos de base de datos como tablas, índices, vistas y esquemas.
Estos son los principales comandos DDL:
1. CREAR
El comando CREATE se utiliza para crear una nueva base de datos y objetos de base de datos, como una tabla, un índice, una vista o un procedimiento almacenado.
Sintaxis:
1 CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...);
Ejemplo:
1 CREATE TABLE employees (
2 employee_id INT PRIMARY KEY,
3 first_name VARCHAR(50),
4 last_name VARCHAR(50),
5 age INT6);La consulta anterior crea una tabla denominada que contiene cuatro columnas que son , , y .
employees
employee_id
first_name
last_name
age
2. ALTERAR
El comando ALTER se utiliza para agregar, eliminar o modificar columnas en una tabla existente.
Sintaxis:
1 ALTER TABLE table_name ADD column_name datatype;
Ejemplo:
1 ALTER TABLE customers ADD email VARCHAR(100);
La consulta anterior agrega una nueva columna denominada con un tipo de datos de VARCHAR(100) a una tabla existente denominada .
customers
3. CAÍDA
El comando DROP se utiliza para quitar una tabla existente en una base de datos.
Sintaxis:
1 DROP TABLE table_name;
Ejemplo:
1 DROP TABLE customers;
La consulta anterior quita una tabla denominada .
customers
4. TRUNCAR
El comando TRUNCATE se utiliza para eliminar los datos dentro de una tabla, pero no la tabla en sí.
Sintaxis:
1 TRUNCATE TABLE table_name;
Ejemplo:
1 TRUNCATE TABLE customers;
La consulta anterior trunca una tabla denominada , que quita todos los registros de la tabla.
customers
Comandos del lenguaje de control de datos (DCL)
Los comandos del lenguaje de control de datos (DCL) son instrucciones SQL que se utilizan para conceder o revocar permisos y privilegios a usuarios y roles para realizar acciones específicas en la base de datos.
Estos son los principales comandos DCL:
1. CONCESIÓN
El comando GRANT se utiliza para otorgar privilegios específicos a usuarios o roles.
Sintaxis:
1 GRANTSELECT, INSERTON table_name TO user_name;
Ejemplo:
1 GRANTSELECT, INSERTON employees TO ‘John Doe’;
La consulta anterior concede privilegios SELECT e INSERT a la tabla a un usuario llamado John Doe.
employees
2. REVOCAR
El comando REVOKE se utiliza para eliminar privilegios previamente otorgados a usuarios o roles.
Sintaxis:
1 REVOKE SELECT, INSERTON table_name FROM user_name;
Ejemplo:
1 REVOKE SELECT, INSERTON employees FROM ‘John Doe’;
La consulta anterior revoca los privilegios SELECT e INSERT de la tabla de empleados concedidos al usuario o rol John Doe.
Consulta de comandos de datos
Los comandos de consulta de datos son instrucciones SQL que se utilizan para recuperar datos de una base de datos.
Estos son los principales comandos de consulta de datos:
1. Declaración SELECT
La instrucción SELECT es el comando principal que se utiliza para recuperar datos de una base de datos. Le permite especificar qué columnas desea recuperar y de qué tabla.
1 SELECT column1, column2, FROM table_name;
2. Cláusula WHERE
La cláusula WHERE se utiliza para filtrar filas en función de una condición especificada.
Sintaxis:
1 SELECT * FROM table_name WHERE condition;
Ejemplo:
1 SELECT * FROM customers WHERE age > 30;
La consulta anterior selecciona todas las columnas de una tabla denominada customers en la que la edad es superior a 30 años.
3. Cláusula ORDER BY
La cláusula ORDER BY se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente en función de una columna especificada.
Sintaxis:
1 SELECT * FROM table_name ORDER BY column_name ASC|DESC;
Ejemplo:
1 SELECT * FROM products ORDER BY price DESC;
La consulta anterior selecciona todas las columnas de una tabla denominada productos y ordena los resultados en función de la columna de precio en orden descendente (de mayor a menor precio).
4. Cláusula GROUP BY
La cláusula GROUP BY se utiliza para agrupar filas en función de los valores de una columna especificada. A menudo se usa con funciones agregadas como COUNT, SUM, AVG, etc.
Sintaxis:
1 SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
Ejemplo:
1 SELECT category, COUNT(*) FROM products GROUP BY category;
La consulta anterior selecciona la columna de categoría y el recuento de cada categoría distinta de una tabla denominada productos. Los resultados proporcionarán el recuento de elementos en cada categoría.
5. Cláusula HAVING
La cláusula HAVING se utiliza para filtrar los resultados agrupados en función de una condición especificada.
Sintaxis:
1 SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING condition;
Ejemplo:
1 SELECT category, COUNT(*) FROM products GROUP BY category HAVING COUNT(*) > 5;
La consulta anterior selecciona la columna de categoría y el recuento de cada categoría distinta de una tabla denominada productos, pero solo para las categorías en las que el recuento es mayor que 5.
Comandos de unión
Los comandos de combinación son instrucciones SQL que se utilizan para combinar datos de dos o más tablas basadas en columnas relacionadas para crear un único conjunto de resultados.
Estos son los principales tipos de comandos de combinación:
1. UNIÓN INTERNA
El comando INNER JOIN devuelve filas con valores coincidentes en ambas tablas.
Sintaxis:
1 SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Ejemplo:
1 SELECT * FROM employees INNER JOIN departments ON employees.department_id = departments.id;
La consulta anterior selecciona todas las columnas de las tablas empleados y departamentos, y las une en función de la department_id en empleados e identificador en departamentos. De este modo, se recuperarán los registros en los que coincidan los identificadores de departamento en ambas tablas.
2. UNIÓN IZQUIERDA/UNIÓN EXTERNA IZQUIERDA
El comando LEFT JOIN devuelve todas las filas de la tabla de la izquierda (primera tabla) y las filas coincidentes de la tabla de la derecha (segunda tabla).
Sintaxis:
1 SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
Ejemplo:
1 SELECT * FROM employees LEFT JOIN departments ON employees.department_id = departments.id;
La consulta anterior selecciona todas las columnas de la tabla y de la tabla y realiza una LEFT JOIN basada en los departamentos de entrada y entrada. Esto recuperará todos los registros de empleados y su correspondiente información del departamento.
employees
departments
department_id
employees
id
3. UNIÓN DERECHA/UNIÓN EXTERIOR DERECHA
El comando RIGHT JOIN devuelve todas las filas de la tabla derecha (segunda tabla) y las filas coincidentes de la tabla izquierda (primera tabla).
Sintaxis:
1 SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
Ejemplo:
1 SELECT *
2 FROM employees3RIGHT JOIN departments4ON employees.department_id = departments.department_id;La consulta anterior utiliza un RIGHT JOIN para recuperar todos los registros de la tabla y los registros coincidentes de la tabla en función del archivo .
departments
employees
department_id
4. UNIÓN COMPLETA/UNIÓN EXTERNA COMPLETA
El comando FULL JOIN devuelve todas las filas cuando hay una coincidencia en la tabla de la izquierda o en la tabla de la derecha.
Sintaxis:
1 SELECT * FROM table1 FULL JOIN table2 ON table1.column = table2.column;
Ejemplo:
1 SELECT *
2 FROM employees
3 LEFT JOIN departments ON employees.employee_id = departments.employee_id
4 UNION
5 SELECT *
6 FROM employees
7 RIGHT JOIN departments ON employees.employee_id = departments.employee_id;La consulta anterior primero realiza una LEFT JOIN en y luego realiza una RIGHT JOIN en las mismas tablas. Por último, utiliza UNION para combinar los resultados de ambas uniones, simulando efectivamente una UNIÓN COMPLETA.
employees
departments
5. UNIÓN CRUZADA
El comando CROSS JOIN combina todas las filas de la primera tabla con todas las filas de la segunda tabla, creando un producto cartesiano.
Sintaxis:
1 SELECT * FROM table1 CROSS JOIN table2;
Ejemplo:
1 SELECT *
2 FROM employees
3 CROSS JOIN departments;La consulta anterior realiza una COMBINACIÓN CRUZADA entre las tablas y .
employees
departments
6. AUTO-UNIRSE
El comando SELF JOIN une una tabla consigo mismo.
Sintaxis:
1 SELECT * FROM table1 t1, table1 t
2 WHERE t1.column = t2.column;Ejemplo:
1 SELECT *
2 FROM employees t1, employees t23WHERE t1.employee_id = t2.employee_id;La consulta anterior usa una autocombinación en la tabla con un alias como «t1» y «t2». Es comparar el de una instancia de la tabla (t1) con el de otra instancia de la tabla (t2). Esto recuperará las filas en las que el es el mismo en ambos casos.
employees
employee_id
employee_id
employee_id
7. UNIÓN NATURAL
El comando NATURAL JOIN coincide con las columnas con el mismo nombre en ambas tablas.
Sintaxis:
1 SELECT * FROM table1 NATURAL JOIN table2;
Ejemplo:
1 SELECT *
2 FROM employees
3 NATURAL JOIN departments;La consulta anterior realiza una COMBINACIÓN NATURAL entre las tablas y .
employees
departments
Subconsultas en SQL
Las subconsultas en SQL son consultas que están incrustadas dentro de otra consulta, lo que permite consultas más complejas y dinámicas. Las subconsultas se pueden utilizar dentro de varios comandos SQL, incluidos los comandos IN, ANY y ALL, para realizar comparaciones u operaciones basadas en los resultados de la subconsulta.
1. Comando IN
El comando IN se utiliza para determinar si un valor coincide con cualquier valor del resultado de una subconsulta. A menudo se utiliza en la cláusula WHERE.
Sintaxis:
1 SELECT column(s) FROM table WHERE value IN (subquery);
Ejemplo:
1 SELECT * FROM customers WHERE city IN (SELECT city FROM suppliers);
La consulta anterior selecciona todos los clientes cuya ciudad coincida con cualquier ciudad en el resultado de la subconsulta de la tabla de proveedores.
2. CUALQUIER comando
El comando ANY se utiliza para comparar un valor con cualquier valor devuelto por una subconsulta. Se puede utilizar con operadores de comparación como =, >, <, etc.
Sintaxis:
1 SELECT column(s) FROM table WHERE value < ANY (subquery);
Ejemplo:
1 SELECT * FROM products WHERE price < ANY (SELECT unit_price FROM supplier_products);
La consulta anterior selecciona productos con un precio inferior a cualquiera de los precios unitarios obtenidos de la subconsulta.
3. Comando ALL
El comando ALL se utiliza para comparar un valor con todos los valores devueltos por una subconsulta. Se puede utilizar con operadores de comparación como =, >, <, etc.
Sintaxis:
1 SELECT column(s) FROM table WHERE value > ALL (subquery);
Ejemplo:
1 SELECT * FROM orders WHERE order_amount > ALL (SELECT total_amount FROM previous_orders);
La consulta anterior selecciona pedidos con importes de pedido mayores que todos los importes totales obtenidos de la subconsulta.
Comandos de funciones agregadas
Los comandos de funciones agregadas son instrucciones SQL que se utilizan para realizar cálculos en un conjunto de valores y, como resultado, devolver un solo valor.
Estas son algunas funciones agregadas comunes en SQL:
1. CONTAR()
El comando COUNT cuenta el número de filas o valores no nulos de una columna especificada.
Sintaxis:
1 SELECT COUNT(column_name) FROM table_name;
Ejemplo:
1 SELECT COUNT(age) FROM employees;
La consulta anterior utiliza la función COUNT para contar los valores no nulos de la columna de la tabla. Esto le dará el recuento de registros en los que el no es nulo.
age
employees
age
2. SUMA()
El comando SUMA se utiliza para calcular la suma de todos los valores de una columna especificada.
Sintaxis:
1 SELECTSUM(column_name) FROM table_name;
Ejemplo:
1 SELECTSUM(revenue) FROM sales;
La consulta anterior utiliza la función SUMA para calcular el valor total de la columna de la tabla. Esto te dará la suma de todos los valores de la columna.
revenue
sales
revenue
3. AVG()
El comando AVG se utiliza para calcular el promedio (valor medio) de todos los valores de una columna especificada.
Sintaxis:
1 SELECTAVG(column_name) FROM table_name;
Ejemplo:
1 SELECTAVG(price) FROM products;
La consulta anterior utiliza la función AVG para calcular el valor medio de la columna de la tabla. Esto te dará el precio medio de los productos.
price
products
4. MIN()
El comando MIN devuelve el valor mínimo (más bajo) de una columna especificada.
Sintaxis:
1 SELECT MIN(column_name) FROM table_name;
Ejemplo:
1 SELECT MIN(price) FROM products;
La consulta anterior utiliza la función MIN para encontrar el valor mínimo en la columna de la tabla. Esto te dará el precio mínimo de todos los productos.
price
products
5. MAX()
El comando MAX devuelve el valor máximo (más alto) de una columna especificada.
Sintaxis:
1 SELECT MAX(column_name) FROM table_name;
Ejemplo:
1 SELECT MAX(price) FROM products;
La consulta anterior utiliza la función MAX para encontrar el valor máximo en la columna de la tabla. Esto te dará el precio máximo entre todos los productos.
price
products
Funciones de cadena en SQL
Las funciones de cadena en SQL se utilizan para manipular y realizar operaciones en valores de cadena (datos de caracteres). Estas funciones pueden ayudar con tareas como la extracción de subcadenas, la conversión de mayúsculas y minúsculas, la concatenación de cadenas, etc.
Estas son algunas de las funciones de cadena más utilizadas en SQL:
1. CONCAT()
El comando CONCAT concatena dos o más cadenas en una sola cadena.
Sintaxis:
1 SELECT CONCAT(string1, string2, ...) AS concatenated_string FROM table_name;
Ejemplo:
1 SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
La consulta anterior utiliza la función CONCAT para concatenar las columnas y de la tabla, separadas por un espacio. El resultado se devuelve como una nueva columna denominada .
first_name
last_name
employees
full_name
2. SUBSTRING()/SUBSTR()
El comando SUBSTRING extrae una subcadena de una cadena.
Sintaxis:
1 SELECTSUBSTRING(string FROM start_position [FOR length]) AS substring FROM table_name;
Ejemplo:
1 SELECTSUBSTRING(product_name FROM 1 FOR 5) AS substring FROM products;
La consulta anterior utiliza la función SUBSTRING para extraer una subcadena a partir de la posición 1 (el principio de la cadena) con una longitud de 5 caracteres de la columna de la tabla. El resultado se devuelve como una nueva columna denominada .
product_name
products
substring
3. CHAR_LENGTH()/LONGITUD()
El comando LENGTH devuelve la longitud (número de caracteres) de una cadena.
Sintaxis:
1 SELECT CHAR_LENGTH(string) AS length FROM table_name;
Ejemplo:
1 SELECT CHAR_LENGTH(product_name) AS length FROM products;
La consulta anterior utiliza la función CHAR_LENGTH para calcular la longitud de la columna de la tabla. El resultado se devuelve como una nueva columna denominada .
product_name
products
length
4. SUPERIOR()
El comando UPPER convierte todos los caracteres de una cadena a mayúsculas.
Sintaxis:
1 SELECT UPPER(string) AS uppercase_string FROM table_name;
Ejemplo:
1 SELECT UPPER(first_name) AS uppercase_first_name FROM employees;
La consulta anterior utiliza la función UPPER para convertir los valores de columna a mayúsculas en la tabla. El resultado se devuelve como una nueva columna denominada .
first_name
employees
uppercase_first_name
5. MÁS BAJO()
El comando LOWER convierte todos los caracteres de una cadena a minúsculas.
Sintaxis:
1 SELECT LOWER(string) AS lowercase_string FROM table_name;
Ejemplo:
1 SELECT LOWER(last_name) AS lowercase_last_name FROM employees;
La consulta anterior utiliza la función LOWER para convertir los valores de columna a minúsculas en la tabla. El resultado se devuelve como una nueva columna denominada .
last_name
employees
lowercase_last_name
6. RECORTAR ()
El comando TRIM elimina los prefijos o sufijos especificados (o espacios en blanco de forma predeterminada) de una cadena.
Sintaxis:
1 SELECT TRIM([LEADING | TRAILING | BOTH] characters
2 FROM string) AS trimmed_string FROM table_name;Ejemplo:
1 SELECT TRIM(TRAILING ' 'FROM full_name) AS trimmed_full_name
2 FROM customers;La consulta anterior utiliza la función TRIM para quitar los espacios finales de los valores de columna de la tabla. El resultado se devuelve como una nueva columna denominada . La opción TRAILING se utiliza para especificar que queremos eliminar los espacios finales.
full_name
customers
trimmed_full_name
7. IZQUIERDA()
El comando LEFT devuelve un número especificado de caracteres desde la izquierda de una cadena.
Sintaxis:
1 SELECT LEFT(string, num_characters) AS left_string FROM table_name;
Ejemplo:
1 SELECT LEFT(product_name, 5) AS left_product_name FROM products;
La consulta anterior utiliza la función LEFT para extraer los primeros 5 caracteres de los valores de columna de la tabla. El resultado se devuelve como una nueva columna denominada .
product_name
products
left_product_name
8. DERECHA()
El comando DERECHA devuelve un número especificado de caracteres a la derecha de una cadena.
Sintaxis:
1 SELECT RIGHT(string, num_characters) AS right_string FROM table_name;
Ejemplo:
1 SELECT RIGHT(order_number, 4) AS right_order_number FROM orders;
La consulta anterior utiliza la función RIGHT para extraer los últimos 4 caracteres de los valores de columna de la tabla. El resultado se devuelve como una nueva columna denominada .
order_number
orders
right_order_number
9. REEMPLAZAR ()
El comando REPLACE reemplaza las apariciones de una subcadena dentro de una cadena.
Sintaxis:
1 SELECTREPLACE(string, old_substring, new_substring) AS replaced_string
2 FROM table_name;Ejemplo:
1 SELECTREPLACE(description, 'old_string', 'new_string') AS replaced_description
2 FROM product_descriptions;La consulta anterior utiliza la función REPLACE para reemplazar las apariciones de with en los valores de columna de la tabla. El resultado se devuelve como una nueva columna denominada . Reemplace y con las cadenas reales que desea reemplazar y reemplácelas.
old_string
new_string
description
product_descriptions
replaced_description
old_string
new_string
Comandos SQL de fecha y hora
Las funciones de fecha y hora en SQL se utilizan para manipular y realizar operaciones en valores de fecha y hora.
Estas son algunas de las funciones de fecha y hora más utilizadas en SQL:
1. CURRENT_DATE()
El comando CURRENT_DATE devuelve la fecha actual.
Sintaxis:
1 SELECT CURRENT_DATE() AS current_date;
2. CURRENT_TIME()
El comando CURRENT_TIME devuelve la hora actual.
Sintaxis:
1 SELECT CURRENT_TIME() AS current_time;
3. CURRENT_TIMESTAMP()
El comando CURRENT_TIMESTAMP devuelve la fecha y hora actuales.
Sintaxis:
1 SELECT CURRENT_TIMESTAMP() AS current_timestamp;
4. DATE_PART()
El comando DATE_PART extrae una parte específica (por ejemplo, año, mes, día) de una fecha u hora.
Sintaxis:
1 SELECT DATE_PART('part', date_expression) AS extracted_part;
5. DATE_ADD()/DATE_SUB()
The DATE_ADD command adds or subtracts a specified number of days, months, or years to/from a date.
Syntax:
1 SELECT DATE_ADD(date_expression, INTERVAL value unit) AS new_date;
1 SELECT DATE_SUB(date_expression, INTERVAL value unit) AS new_date;
6. EXTRACT()
The EXTRACT command extracts a specific part (e.g., year, month, day) from a date or time.
Syntax:
1 SELECT EXTRACT(part FROM date_expression) AS extracted_part;
7. TO_CHAR()
The TO_CHAR command converts a date or time to a specified format.
Syntax:
1 SELECT TO_CHAR(date_expression, 'format') AS formatted_date;
8. TIMESTAMPDIFF()
The TIMESTAMPDIFF command calculates the difference between two timestamps in a specified unit (e.g., days, hours, minutes).
Syntax:
1 SELECT TIMESTAMPDIFF(unit, timestamp1, timestamp2) AS difference;
9. DATEDIFF()
The DATEDIFF command calculates the difference in days between two dates.
Syntax:
1 SELECTDATEDIFF(date1, date2) AS difference_in_days;
Conditional Expressions
Conditional expressions in SQL allow for decision-making within queries, enabling you to retrieve data based on specific conditions. Commonly used conditional expressions include CASE, IF, COALESCE, and NULLIF.
1. CASE Statement
The CASE statement allows you to perform conditional logic within a query.
Syntax:
1 SELECT
2 column1,
3 column2,
4 CASE
5 WHEN condition1 THEN result1
6 WHEN condition2 THEN result2
7 ELSE default_result8ENDAS alias9FROM table_name;Example:
1 SELECT
2 order_id,
3 total_amount,
4 CASE
5 WHEN total_amount > 1000 THEN'High Value Order'
6 WHEN total_amount > 500 THEN'Medium Value Order'
7 ELSE'Low Value Order'
8 ENDAS order_status9FROM orders;The query above uses a CASE statement to evaluate conditions based on the and create an accordingly for each order. The result is returned with the , , and the calculated .
total_amount
order_status
order_id
total_amount
order_status
2. IF() Function
The IF() function evaluates a condition and returns a value based on the evaluation.
Syntax:
1 SELECTIF(condition, true_value, false_value) AS alias FROM table_name;
Example:
1 SELECT
2 name,
3 age,
4 IF(age > 50, 'Senior', 'Junior') AS employee_category
5 FROM employees;The query above uses the IF function to categorize employees based on their age. If the age is greater than 50, they are categorized as ; otherwise, they are categorized as . The result is returned with the , , and the calculated .
Senior
Junior
name
age
employee_category
3. COALESCE() Function
The COALESCE() function returns the first non-null value from a list of values.
Syntax:
1 SELECTCOALESCE(value1, value2, ...) AS alias FROM table_name;
Example:
1 SELECT
2 COALESCE(first_name, middle_name) AS preferred_name
3 FROM employees;La consulta anterior utiliza la función COALESCE para seleccionar el primer nombre no nulo (o bien) como para cada empleado. El resultado se devuelve con el calculado para cada empleado.
first_name
middle_name
preferred_name
preferred_name
4. Función NULLIF()
La función NULLIF() devuelve null si dos expresiones especificadas son iguales.
Sintaxis:
1 SELECT NULLIF(expression1, expression2) AS alias FROM table_name;
Ejemplo:
1 SELECT NULLIF(total_amount, discounted_amount) AS diff_amount FROM orders;
La consulta anterior utiliza la función NULLIF para comprobar si es igual a . Si son iguales, devuelve NULL; de lo contrario, devuelve . El resultado se devuelve indicando la diferencia (o NULL) entre el importe total y el importe descontado de cada pedido.
total_amount
discounted_amount
total_amount
diff_amount
Establecer operaciones
Las operaciones de conjuntos en SQL permiten realizar operaciones en varios conjuntos de datos, como la combinación de conjuntos (UNION), la búsqueda de la intersección de conjuntos (INTERSECT) y la búsqueda de la diferencia entre conjuntos (EXCEPT).
Estos son los principales comandos de operación de conjunto con ejemplos:
1. UNIÓN
El operador UNION combina los conjuntos de resultados de dos o más instrucciones SELECT en un único conjunto de resultados.
Sintaxis:
1 SELECT column1, column
2 FROM table12UNION
3 SELECT column1, column2 FROM table2;Ejemplo:
1 SELECT first_name, last_name FROM customers
2 UNION
3 SELECT first_name, last_name FROM employees;La consulta anterior utiliza el operador UNION para combinar las columnas y de las tablas y . El resultado incluirá combinaciones únicas de y de ambas tablas.
first_name
last_name
customers
employees
first_name
last_name
2. INTERSECCIÓN
El operador INTERSECT devuelve las filas comunes que aparecen en ambos conjuntos de resultados.
Syntax:
1 SELECT column1, column2 FROM table1
2 INTERSECT3SELECT column1, column2 FROM table2;Example:
1 SELECT first_name, last_name FROM customers
2 INTERSECT3SELECT first_name, last_name FROM employees;The query above uses the INTERSECT operator to find the common and between the and tables. The result will include rows where both the first name and last name are present in both tables.
first_name
last_name
customers
employees
3. EXCEPT
The EXCEPT operator returns the distinct rows from the left result set that are not present in the right result set.
Syntax:
1 SELECT column1, column2 FROM table1
2 EXCEPT3SELECT column1, column2 FROM table2;Example:
1 SELECT first_name, last_name FROM customers
2 EXCEPT
3 SELECT first_name, last_name FROM employees;La consulta anterior utiliza el operador EXCEPT para buscar los y en la tabla que no están presentes en la tabla. El resultado incluirá filas en las que el nombre y el apellido están en la tabla, pero no en la tabla.
first_name
last_name
customers
employees
customers
employees
Comandos de control de transacciones
Los comandos del lenguaje de control de transacciones (TCL) en SQL se utilizan para administrar transacciones dentro de una base de datos.
Estos son los principales comandos de TCL:
1. COMPROMÉTETE
El comando COMMIT se utiliza para guardar todos los cambios realizados durante la transacción actual y hacerlos permanentes.
Sintaxis:
1 COMMIT;
Ejemplo:
1 BEGIN TRANSACTION;
2
3-- SQL statements and changes within the transaction
4
5 INSERT INTO employees (name, age) VALUES ('Alice', 30);
6 UPDATE products SET price = 25.00 WHERE category = 'Electronics';
7
8 COMMIT;En la consulta anterior, la instrucción COMMIT se utiliza para guardar de forma permanente los cambios realizados en las tablas y durante la transacción.
employees
products
2. REVERSIÓN
El comando ROLLBACK se utiliza para deshacer todos los cambios realizados durante la transacción actual y descartarlos.
Sintaxis:
1 ROLLBACK;
Ejemplo:
1 BEGIN TRANSACTION;
2
3-- SQL statements and changes within the transaction
4
5 INSERT INTO employees (name, age) VALUES ('Bob', 35);
6 UPDATE products SET price = 30.00 WHERE category = 'Electronics';
7
8 ROLLBACK;En la consulta anterior, la instrucción ROLLBACK se utiliza para deshacer los cambios realizados durante la transacción, por lo que la inserción de ‘Bob’ en la tabla y la actualización de los precios en la tabla se revierten, y la base de datos se restaura a su estado anterior al inicio de la transacción.
employees
products
3. SAVEPOINT
The SAVEPOINT command is used to set a point within a transaction to which you can later roll back.
Syntax:
1 SAVEPOINT savepoint_name;
Example:
1 BEGIN TRANSACTION;
2
3 INSERT INTO employees (name, age) VALUES ('Carol', 28);
4
5 SAVEPOINT before_update;
6
7 UPDATE products SET price = 40.00 WHERE category = 'Electronics';
8
9 SAVEPOINT after_update;
10
11 DELETEFROM customers WHERE age > 60;
12
13 ROLLBACK TO before_update;
14
15-- At this point, the DELETE is rolled back, but the UPDATE remains.
16
17 COMMIT;The query above sets two savepoints: and . It later rollback to , effectively undoing the DELETE operation, but the UPDATE operation remains in effect when the transaction is committed.
before_update
after_update
before_update
4. ROLLBACK TO SAVEPOINT
The ROLLBACK TO SAVEPOINT command is used to roll back to a specific savepoint within a transaction.
Syntax:
1 ROLLBACK TO SAVEPOINT savepoint_name;
Example:
1 BEGIN TRANSACTION;
2
3 INSERT INTO employees (name, age) VALUES ('David', 42);
4
5 SAVEPOINT before_update;
6
7 UPDATE products SET price = 50.00 WHERE category = 'Electronics';
8
9 SAVEPOINT after_update;
10
11 DELETEFROM customers WHERE age > 60;
12
13-- Rollback to the savepoint before the update14ROLLBACK TO SAVEPOINT before_update;1516-- At this point, the UPDATE is rolled back, but the INSERT remains.1718COMMIT;La consulta anterior sest dos puntos de guardado: y . A continuación, se revierte a , deshaciendo la operación UPDATE, pero dejando intacta la operación INSERT. Finalmente, se confirma la transacción, conservando la operación INSERT.
before_update
after_update
before_update
5. ESTABLECER TRANSACCIÓN
El comando SET TRANSACTION se utiliza para configurar las propiedades de la transacción actual, como el nivel de aislamiento y el modo de transacción.
Sintaxis:
1 SET TRANSACTION [ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }]
Ejemplo:
1 BEGIN TRANSACTION;
2
3-- Set the isolation level to READ COMMITTED
4 SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
5
6-- SQL statements and changes within the transaction
7
8 INSERT INTO employees (name, age) VALUES ('Emily', 35);
9 UPDATE products SET price = 60.00 WHERE category = 'Electronics';
10
11 COMMIT;La consulta anterior establece el nivel de aislamiento en READ COMMITTED para la transacción. Los cambios realizados en la transacción serán visibles para otras transacciones solo después de que se confirmen. El nivel de aislamiento SERIALIZABLE garantizaría el nivel más alto de aislamiento, asegurándose de que ninguna otra transacción pueda acceder a los datos modificados por esta transacción hasta que se confirme.
Conclusión
En conclusión, he cubierto las declaraciones SQL de uso común, como los comandos del lenguaje de manipulación de datos (DML), los comandos del lenguaje de definición de datos (DDL), los comandos del lenguaje de control de datos (DCL) y más.
Tanto si eres un principiante que aprende SQL como si eres un desarrollador experimentado que busca mejorar sus habilidades de SQL, esta hoja de trucos de comandos SQL es la compañera perfecta para ti.
Siéntase libre de probar algunas de las consultas SQL proporcionadas con DbVisualizer. Esperamos que hayas disfrutado de este blog y que te quedes para obtener más contenido: lee otros blogs en nuestro sitio web y nos vemos en el próximo.