Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Como programador o analista de datos, a menudo se encontrará trabajando con grandes volúmenes de datos. Una de las herramientas más poderosas a su disposición es SQL (Lenguaje de consulta estructurado).
Esta hoja de trucos de SQL le brinda los objetos y comandos SQL más comunes, incluidos tipos de datos, declaraciones DML y DDL, funciones agregadas, funciones de cadena y fecha y subconsultas.
Está diseñado para ser una referencia rápida y útil a la que puede acceder siempre que esté interactuando con una base de datos relacional.
Si es como nosotros y desea descargar e imprimir o almacenar la hoja de trucos en su computadora, puede descargarla a continuación.
Descarga de la hoja de trucos de SQL
Tabla de contenido
Tipos de datos SQL
Los tipos de datos para sistemas de administración de bases de datos (DBMS) específicos pueden variar (por ejemplo, Microsoft SQL Server vs MySQL ). Sin embargo, hay varios que se encuentran en la mayoría de los sistemas. Puede dividirlos en tres categorías:
Numérico
Fecha y hora
Cadena
1. Tipos numéricos
Estos son los tipos numéricos más comunes:
ENTERO : Número entero sin punto decimal.
SMALLINT : un rango más pequeño de números enteros
BIGINT : Un rango más grande de números enteros.
DECIMAL(p, s) o NUMÉRICO(p, s) : Por ejemplo, un decimal(5,2) cabría en 123,45.
REAL : Un número de punto flotante, con una precisión de al menos 6 dígitos decimales.
FLOAT(n) : Un número de coma flotante, con una precisión de al menos n dígitos.
2. Tipos de fecha y hora
FECHA : un valor de fecha, normalmente en el formato 'YYYY-MM-DD'.
HORA : un valor de hora, normalmente en el formato 'HH:MM:SS'.
DATETIME o TIMESTAMP : una combinación de valores de fecha y hora.
3. Tipos de cadenas
CHAR(n) : Una cadena de longitud fija con n caracteres.
VARCHAR(n) o CHARACTER VARYING(n) : Una cadena de longitud variable.
TEXTO : una cadena de longitud variable con una longitud máxima determinada por el DBMS.
Declaración SELECCIONAR
La instrucción SELECT se utiliza para recuperar datos de una o más tablas. Puede especificar las columnas que desea recuperar y de qué tabla. Una instrucción SELECT básica se ve así:
SELECT column1, column2
FROM table;
Para recuperar todos los registros de las columnas 'nombre' y 'id_país' de la tabla 'ciudad', su consulta SQL se ve así:
SELECT name, country_id
FROM city;
Dónde cláusula
La cláusula WHERE le permite filtrar los resultados de una instrucción SELECT en función de condiciones específicas.
SELECT column1, column2
FROM table
WHERE condition;
Para recuperar registros de la tabla 'ciudad' donde la 'población' es mayor que 1,000,000, su consulta se ve así:
SELECT name, population
FROM city
WHERE population > 1000000;
ORDEN POR Cláusula
La cláusula ORDER BY le permite ordenar los resultados de una declaración SELECT por una o más columnas. Puede ordenar los resultados en orden ascendente (ASC) o descendente (DESC):
SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;
Por ejemplo, para recuperar registros de la tabla 'ciudad' ordenados por 'población' en orden descendente, su consulta se ve así:
SELECT name, population
FROM city
ORDER BY population DESC;
Unión de varias tablas en SQL
Hay cuatro combinaciones de uso común en SQL:
UNIR INTERNAMENTE
UNIRSE A LA IZQUIERDA
UNIÓN DERECHA
ÚNETE COMPLETO
1. UNIÓN INTERNA
Un INNER JOIN recupera registros que tienen valores coincidentes en ambas tablas.
Tomemos un ejemplo de una base de datos de artistas y álbumes, y desea encontrar todas las combinaciones de artistas y álbumes. Esta es la UNIÓN INTERNA:
SELECT *
FROM artists AS a
INNER JOIN albums AS b
ON a.artist_id = b.artist_id;
Con INNER JOIN, solo se devolverán en los resultados las filas con valores coincidentes en los campos especificados.
2. UNIRSE A LA IZQUIERDA
UNA UNIÓN IZQUIERDA también se conoce como UNIÓN EXTERNA IZQUIERDA. Devuelve todos los registros de la tabla de la izquierda y los registros coincidentes de la tabla de la derecha. Si no hay ninguna coincidencia en la tabla de la derecha, el resultado contendrá valores NULL.
Por ejemplo, para obtener una lista de todos los artistas y sus respectivos álbumes (si tienen alguno), puede usar LEFT JOIN:
SELECT *
FROM artists AS a
LEFT JOIN albums AS b
ON a.artist_id = b.artist_id;
Esta consulta devolverá todos los artistas, incluso si no tienen ningún álbum asociado con ellos en la tabla de álbumes.
3. UNIÓN DERECHA
UNA UNIÓN DERECHA también se conoce como UNIÓN EXTERNA DERECHA. Devuelve todos los registros de la tabla de la derecha y los registros coincidentes de la tabla de la izquierda. Si no hay ninguna coincidencia en la tabla de la izquierda, el resultado contendrá valores NULL.
Por ejemplo, para obtener información sobre todos los álbumes y sus artistas asociados (si existen), usaría RIGHT JOIN:
SELECT *
FROM artists AS a
RIGHT JOIN albums AS b
ON a.artist_id = b.artist_id;
Esta consulta devolverá todos los álbumes, incluso si no tienen artistas asociados en la tabla de artistas.
4. UNIÓN COMPLETA
A FULL JOIN también se le conoce como FULL OUTER JOIN. Combina los resultados de las uniones IZQUIERDA y DERECHA. En otras palabras, devuelve todas las filas de las tablas izquierda y derecha y completa los valores faltantes con NULL cuando no hay coincidencia.
Aquí hay un ejemplo usando las tablas de artistas y álbumes:
SELECT *
FROM artists AS a
FULL JOIN albums AS b
ON a.artist_id = b.artist_id;
Esta consulta devuelve todas las filas de ambas tablas, completando NULL donde no hay coincidencia en ninguna de las tablas.
Funciones agregadas de SQL
Las funciones agregadas se utilizan para calcular un único resultado a partir de un conjunto de valores de entrada. Se llaman "agregados" porque toman múltiples entradas y devuelven una única salida. Los más comunes son:
CONTAR
SUMA
PROMEDIO
MÁX.
MÍN.
1. Función CONTAR
La función COUNT le permite contar el número de filas en el resultado de una consulta. Puede usar esta función agregada para determinar la cantidad total de registros en una tabla o la cantidad de registros que coinciden con criterios específicos.
Aquí hay un ejemplo:
SELECT COUNT(*) FROM employees;
Esta consulta devolverá el número total de empleados en la tabla 'empleados'. Tenga en cuenta que agregar una cláusula WHERE puede refinar sus resultados:
SELECT COUNT(*) FROM employees WHERE department = 'HR';
2. Función SUMA
The SUM function calculates the total sum of a numeric column. It’s useful when you need to calculate the total value of a particular numeric field. For example, this query returns the total sum of all employee salaries:
SELECT SUM(salary) FROM employees;
3. AVG Function
The AVG function computes the average value of a numeric column. This function is helpful when you want to find the average of a particular numeric field. For instance, this query returns the average salary of all employees:
SELECT AVG(salary) FROM employees;
4. MAX Function
The MAX function finds the maximum value of a column. This is often used to find the highest value in a numeric field or the most recent date in a datetime field. For example, this query returns the highest salary:
SELECT MAX(salary) FROM employees;
5. MIN Function
Lastly, the MIN function helps you find the minimum value of a column. For example, this query returns the lowest salary:
SELECT MIN(salary) FROM employees;
Remember, you can use WHERE clauses in these queries and JOIN with multiple tables.
Common String Functions
Here are the most common string functions that are found in most SQL dialects (the exact syntax can vary):
LEN or LENGTH(string): Returns the length of a string.
UPPER(string): Converts a string to upper case.
LOWER(string): Converts a string to lower case.
SUBSTR or SUBSTRING(string, start, length): Extracts a portion from a string.
TRIM(string): Removes leading and trailing spaces from a string.
LTRIM(string): Removes leading spaces from a string.
RTRIM(string): Removes trailing spaces from a string.
Common Numeric Functions
Here are the most common numeric functions that are found in most SQL dialects (the exact syntax can vary):
ABS(number): Returns the absolute value of a number.
ROUND(number, decimal_places): Rounds a number to a certain number of decimal places.
FLOOR(number): Rounds down the number to the nearest integer.
CEIL or CEILING(number): Rounds up the number to the nearest integer.
RAND(): Returns a random float value from 0 to 1.
MOD(n, m): Returns the remainder of n divided by m.
POWER(base, exponent): Raises a number to the power of another number.
LOG(number): Returns the natural logarithm of a number.
Common Date Functions
Here are the most common date functions that are found in most SQL dialects (the exact syntax can vary):
NOW(): Returns the current date and time.
DATE(datetime): Extracts the date part of a date or datetime expression.
TIME(datetime): Extracts the time part of a date or datetime expression.
YEAR(date): Returns the year part.
MONTH(date): Returns the month part.
DAY(date): Returns the day of the month part.
HOUR(time): Returns the hour part from a time.
MINUTE(time): Returns the minute part from a time.
SECOND(time): Returns the second part from a time.
GROUP BY And HAVING
When working with SQL queries, you may want to further summarize and filter your aggregated data. The GROUP BY and HAVING clauses provide this functionality.
1. Group By Clause
The GROUP BY clause allows you to group rows that share the same values in specified columns. It is commonly used with aggregate functions. This is the syntax:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2;
For example, if you want to calculate the total sales amount for each product category, this is the query:
SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category;
TIP: Combining GROUP BY and COUNT is a good way of finding duplicate values.
2. Having Clause
If you want to filter the aggregated results further, you can use the HAVING clause. The syntax is:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING condition;
If you want to find product categories with total sales of more than $1,000,000, you would write:
SELECT product_category, SUM(sales_amount)
FROM sales_data
GROUP BY product_category
HAVING SUM(sales_amount) > 1000000;
Quick Tips
Always use the GROUP BY clause before the HAVING clause.
The SELECT statement can only contain specified column names, aggregate functions, constants, and expressions.
When using the HAVING clause, filter conditions should be applied to the aggregate functions rather than directly to the grouped columns.
By understanding and properly applying the GROUP BY and HAVING clauses, you can better organize and analyze your data using SQL.
Subqueries
A subquery is also known as an inner or nested query. This is a query embedded within another SQL statement (such as a SELECT statement) or even inside another subquery.
Subqueries allow you to retrieve data based on the output of another query. The most common operators used with subqueries are:
IN
EXISTS
ANY
ALL
1. IN Operator
The IN operator tests if a value is within a set of values generated by the inner query. The syntax for using the IN operator with a subquery is as follows:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT column_name FROM other_table);
This returns rows from the outer query where the specified column value matches any of the values provided by the subquery.
Suppose you have an employee table and a departments table. You want to find employees who work in departments based at the head office. Here is a sample query
SELECT first_name, last_name
FROM employee
WHERE department IN (SELECT department FROM departments
WHERE location = "HQ");
For a more in-depth look, check out our article on the SQL WHERE IN syntax.
2. EXISTS Operator
The EXISTS operator checks if there is at least one row resulting from the subquery. You can use the EXISTS operator to filter rows based on the existence of related data in another table. This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE EXISTS (SELECT column_name FROM other_table WHERE condition);
When the subquery returns at least one row, the EXISTS operator returns true, and the relevant rows from the outer query are included in the result.
3. ANY Operator
The ANY operator is used to compare a value to any value in a set of values provided by a subquery. It’s commonly used with comparison operators like =, <, >, <=, or >=.
This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY (SELECT column_name FROM other_table WHERE condition);
This will return rows from the outer query where the specified column value meets the condition against any value from the subquery.
4. ALL Operator
The ALL operator compares a value to all values within a set of values provided by a subquery. The conditions must be true for every value in the subquery’s result. This is the syntax:
SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL (SELECT column_name FROM other_table WHERE condition);
This returns rows from the outer query only if the specified column value satisfies the condition against all values in the subquery’s output.
Data Manipulation (DML)
Data Manipulation Language (DML) is a sub-language within SQL for managing and updating data. The most common statements are:
INSERT
UPDATE
DELETE
1. INSERT Statement
The INSERT statement allows you to insert rows into a table. Here’s the basic syntax:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
For example, if you want to insert a new row into a ‘users’ table with columns ‘id’, ‘name’, and ’email’, you would use the following query:
INSERT INTO users (id, name, email)
VALUES (1, 'John Doe', '[email protected]');
2. UPDATE Statement
The UPDATE statement allows you to modify existing row data in a table. This is the syntax:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
For example, if you want to update the email address of a user with the id ‘1’ in the ‘users’ table, your query would look like this:
UPDATE users
SET email = '[email protected]'
WHERE id = 1;
TIP: remember to include a WHERE clause to avoid updating all rows in the table by mistake.
3. DELETE Statement
The DELETE statement allows you to remove rows from a table. Here’s the syntax:
DELETE FROM table_name
WHERE condition;
Por ejemplo, si desea eliminar un usuario con la identificación '1' de la tabla de 'usuarios', su consulta se vería así:
DELETE FROM users
WHERE id = 1;
CONSEJO : incluya siempre una cláusula WHERE para especificar qué filas eliminar y evitar eliminar todas las filas de la tabla.
Gestión de base de datos con DDL
El lenguaje de definición de datos (DDL) es el sublenguaje de SQL que se utiliza para crear y modificar tablas y la propia base de datos. Las declaraciones DDL más comunes son:
CREAR
ALTERAR
GOTA
1. Declaración CREAR
La declaración CREATE le permite crear nuevos objetos de base de datos, como nuevas tablas, vistas o índices. Al crear una nueva tabla, debe definir las columnas, sus tipos de datos y cualquier restricción.
Este es un ejemplo de creación de una tabla de pedidos:
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
product VARCHAR(255) NOT NULL,
customer_id INT NOT NULL
);
SUGERENCIA: elija tipos de datos y restricciones apropiados para garantizar la integridad de los datos en sus tablas.
Para una mirada más detallada, consulte nuestro artículo sobre operaciones básicas de tablas SQL .
2. Declaración ALTERAR
La sentencia ALTER le ayuda a modificar los objetos de base de datos existentes. Los usos comunes incluyen:
agregar, modificar o eliminar columnas.
agregar o eliminar restricciones de una tabla existente.
añadiendo claves primarias y foráneas.
AÑADIR UNA NUEVA COLUMNA
ALTER TABLE users ADD COLUMN age INTEGER;
Modificar el tipo de datos de una columna
ALTER TABLE users ALTER COLUMN age TYPE FLOAT;
Soltar una columna
ALTER TABLE users DROP COLUMN age;
Agregar una restricción única
ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE(email);
Agregar una clave externa entre tablas
ALTER TABLE users ADD FOREIGN KEY (country_id) REFERENCES Country(country_id);
3. Declaración DROP
La declaración DROP le permite eliminar objetos de la base de datos como tablas, vistas o índices. Úselo con precaución, ya que eliminará permanentemente el objeto especificado y todos sus datos.
Aquí hay un ejemplo:
DROP TABLE users;
SUGERENCIA : asegúrese de tener las copias de seguridad adecuadas antes de ejecutar una instrucción DROP.
Si desea obtener más información sobre el modelado de datos, consulte este video:
Actas
Las transacciones juegan un papel crucial en el mantenimiento de la integridad de la base de datos , especialmente cuando se ejecutan varias operaciones relacionadas al mismo tiempo. Hay tres operaciones fundamentales en el manejo de transacciones:
COMENZAR
COMPROMETERSE
RETROCEDER
1. COMENZAR
La declaración BEGIN significa el comienzo de una transacción. Al ejecutar este comando, está estableciendo un punto de partida para su conjunto de declaraciones SQL.
BEGIN;
2. COMPROMETERSE
Para finalizar sus cambios y conservarlos en la base de datos, use la instrucción COMMIT. Esto asegura que todas las operaciones dentro de la transacción se ejecuten con éxito y de forma permanente.
COMMIT;
Aquí hay un ejemplo de una transacción completa utilizando el ejemplo clásico de transferencia de fondos entre cuentas:
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
3. VOLVER
Al trabajar con transacciones, también es fundamental saber cómo deshacer los cambios cuando se produce un error. La instrucción ROLLBACK revierte todos los cambios realizados desde el inicio de la transacción:
ROLLBACK;
Aquí hay un ejemplo de una transacción con manejo de errores usando ROLLBACK:
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
IF @@ERROR <> 0
ROLLBACK;
ELSE
COMMIT;
Pensamientos finales
Como ha visto en esta hoja de trucos de SQL, SQL ofrece una multitud de comandos y funciones que le permiten crear, manipular y consultar datos en una base de datos relacional.
Desde los comandos fundamentales como SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR, hasta las construcciones más complejas como JOIN y subconsultas, hasta las funciones agregadas que hemos cubierto, SQL brinda la flexibilidad para manejar una amplia gama de tareas de datos.
¡Siga regresando a esta hoja de trucos para acelerar su viaje hacia el aprendizaje de SQL !
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber