Folha de dicas do SQL: guia rápido para comandos essenciais

Como programador ou analista de dados, você frequentemente trabalhará com grandes volumes de dados. Uma das ferramentas mais poderosas à sua disposição é a SQL (Structured Query Language).

Esta folha de dicas SQL fornece os objetos e comandos SQL mais comuns, incluindo tipos de dados, instruções DML e DDL, funções agregadas, funções de string e data e subconsultas.

Ele foi projetado para ser uma referência rápida e prática que você pode acessar sempre que estiver interagindo com um banco de dados relacional.

Se você é como nós e deseja baixar e imprimir ou armazenar a folha de dicas em seu computador, você pode baixá-la abaixo.

Download da folha de dicas do SQL

Índice

Tipos de Dados SQL

Folha de dicas do SQL: guia rápido para comandos essenciais

Os tipos de dados para sistemas de gerenciamento de banco de dados (DBMS) específicos podem variar (por exemplo, Microsoft SQL Server vs MySQL ). No entanto, existem vários que são encontrados na maioria dos sistemas. Você pode dividi-los em três categorias:

  1. Numérico

  2. Data e hora

  3. Corda

1. Tipos Numéricos

Estes são os tipos numéricos mais comuns:

  • INTEIRO : Um número inteiro sem ponto decimal.

  • SMALLINT : Um intervalo menor de números inteiros

  • BIGINT : Um intervalo maior de números inteiros.

  • DECIMAL(p, s) ou NUMERIC(p, s) : Por exemplo, um decimal(5,2) caberia 123,45.

  • REAL : Um número de ponto flutuante, com uma precisão de pelo menos 6 dígitos decimais.

  • FLOAT(n) : Um número de ponto flutuante, com uma precisão de pelo menos n dígitos.

2. Tipos de data e hora

  • DATE : Um valor de data, geralmente no formato 'AAAA-MM-DD'.

  • TIME : Um valor de tempo, geralmente no formato 'HH:MM:SS'.

  • DATETIME ou TIMESTAMP : Uma combinação de valores de data e hora.

3. Tipos de String

  • CHAR(n) : Uma string de comprimento fixo com n caracteres.

  • VARCHAR(n) ou CHARACTER VARYING(n) : Uma string de comprimento variável.

  • TEXT : Uma string de comprimento variável com um comprimento máximo determinado pelo DBMS.

Instrução SELECT

Folha de dicas do SQL: guia rápido para comandos essenciais

A instrução SELECT é usada para recuperar dados de uma ou mais tabelas. Você pode especificar as colunas que deseja recuperar e de qual tabela. Uma instrução SELECT básica se parece com isto:

SELECT column1, column2
FROM table;

Para recuperar todos os registros das colunas 'name' e 'country_id' da tabela 'city', sua consulta SQL fica assim:

SELECT name, country_id
FROM city;

Cláusula ONDE

Folha de dicas do SQL: guia rápido para comandos essenciais

A cláusula WHERE permite filtrar os resultados de uma instrução SELECT com base em condições específicas.

SELECT column1, column2
FROM table
WHERE condition;

Para recuperar registros da tabela 'cidade' onde a 'população' é maior que 1.000.000, sua consulta se parece com isto:

SELECT name, population
FROM city
WHERE population > 1000000;

Cláusula ORDER BY

A cláusula ORDER BY permite classificar os resultados de uma instrução SELECT por uma ou mais colunas. Você pode classificar os resultados em ordem crescente (ASC) ou decrescente (DESC):

SELECT column1, column2
FROM table
ORDER BY column1 ASC, column2 DESC;

Por exemplo, para recuperar registros da tabela 'cidade' classificados por 'população' em ordem decrescente, sua consulta se parece com isto:

SELECT name, population
FROM city
ORDER BY population DESC;

Unindo várias tabelas no SQL

Folha de dicas do SQL: guia rápido para comandos essenciais

Existem quatro junções comumente usadas no SQL:

  1. JUNÇÃO INTERNA

  2. ASSOCIAÇÃO À ESQUERDA

  3. JUNTAR À DIREITA

  4. FULL JOIN

1. JUNÇÃO INTERNA

Um INNER JOIN recupera registros que possuem valores correspondentes em ambas as tabelas.

Vamos dar um exemplo de um banco de dados de artistas e álbuns, e você deseja localizar todas as combinações de artistas e álbuns. Este é o INNER JOIN:

SELECT *
FROM artists AS a
INNER JOIN albums AS b
ON a.artist_id = b.artist_id;

Com um INNER JOIN, apenas as linhas com valores correspondentes nos campos especificados serão retornadas nos resultados.

2. ENTRADA À ESQUERDA

LEFT JOIN também é conhecido como LEFT OUTER JOIN. Ele retorna todos os registros da tabela da esquerda e os registros correspondentes da tabela da direita. Se não houver correspondência na tabela correta, o resultado conterá valores NULL.

Por exemplo, para obter uma lista de todos os artistas e seus respectivos álbuns (se houver), você pode usar um LEFT JOIN:

SELECT *
FROM artists AS a
LEFT JOIN albums AS b
ON a.artist_id = b.artist_id;

Esta consulta retornará todos os artistas, mesmo que não tenham nenhum álbum associado a eles na tabela de álbuns.

3. JUNÇÃO DIREITA

Um RIGHT JOIN também é conhecido como RIGHT OUTER JOIN. Ele retorna todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda. Se não houver correspondência na tabela à esquerda, o resultado conterá valores NULL.

Por exemplo, para obter informações sobre todos os álbuns e seus artistas associados (se existirem), você usaria um RIGHT JOIN:

SELECT *
FROM artists AS a
RIGHT JOIN albums AS b
ON a.artist_id = b.artist_id;

Esta consulta retornará todos os álbuns, mesmo que não tenham artistas associados na tabela de artistas.

4. JUNÇÃO COMPLETA

Um FULL JOIN também é conhecido como FULL OUTER JOIN. Ele combina os resultados das junções ESQUERDA e DIREITA. Em outras palavras, ele retorna todas as linhas das tabelas esquerda e direita e preenche os valores ausentes com NULLs quando não há correspondência.

Aqui está um exemplo usando as tabelas de artistas e álbuns:

SELECT *
FROM artists AS a
FULL JOIN albums AS b
ON a.artist_id = b.artist_id;

Esta consulta retorna todas as linhas de ambas as tabelas, preenchendo NULLs onde não há correspondência em nenhuma das tabelas.

Funções SQL Agregadas

As funções agregadas são usadas para calcular um único resultado de um conjunto de valores de entrada. Eles são chamados de “agregados” porque recebem várias entradas e retornam uma única saída. Os mais comuns são:

  1. CONTAR

  2. SOMA

  3. AVG

  4. MAX

  5. MIN

1. Função CONTAGEM

A função COUNT permite contar o número de linhas em um resultado de consulta. Você pode usar essa função de agregação para determinar o número total de registros em uma tabela ou o número de registros que correspondem a critérios específicos.

Aqui está um exemplo:

SELECT COUNT(*) FROM employees;

Esta consulta retornará o número total de funcionários na tabela 'funcionários'. Lembre-se de que adicionar uma cláusula WHERE pode refinar seus resultados:

SELECT COUNT(*) FROM employees WHERE department = 'HR';

2. Função SOMA

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

Folha de dicas do SQL: guia rápido para comandos essenciais

Here are the most common string functions that are found in most SQL dialects (the exact syntax can vary):

  1. LEN or LENGTH(string): Returns the length of a string.

  2. UPPER(string): Converts a string to upper case.

  3. LOWER(string): Converts a string to lower case.

  4. SUBSTR or SUBSTRING(string, start, length): Extracts a portion from a string.

  5. TRIM(string): Removes leading and trailing spaces from a string.

  6. LTRIM(string): Removes leading spaces from a string.

  7. RTRIM(string): Removes trailing spaces from a string.

Common Numeric Functions

Folha de dicas do SQL: guia rápido para comandos essenciais

Here are the most common numeric functions that are found in most SQL dialects (the exact syntax can vary):

  1. ABS(number): Returns the absolute value of a number.

  2. ROUND(number, decimal_places): Rounds a number to a certain number of decimal places.

  3. FLOOR(number): Rounds down the number to the nearest integer.

  4. CEIL or CEILING(number): Rounds up the number to the nearest integer.

  5. RAND(): Returns a random float value from 0 to 1.

  6. MOD(n, m): Returns the remainder of n divided by m.

  7. POWER(base, exponent): Raises a number to the power of another number.

  8. LOG(number): Returns the natural logarithm of a number.

Common Date Functions

Folha de dicas do SQL: guia rápido para comandos essenciais

Here are the most common date functions that are found in most SQL dialects (the exact syntax can vary):

  1. NOW(): Returns the current date and time.

  2. DATE(datetime): Extracts the date part of a date or datetime expression.

  3. TIME(datetime): Extracts the time part of a date or datetime expression.

  4. YEAR(date): Returns the year part.

  5. MONTH(date): Returns the month part.

  6. DAY(date): Returns the day of the month part.

  7. HOUR(time): Returns the hour part from a time.

  8. MINUTE(time): Returns the minute part from a time.

  9. SECOND(time): Returns the second part from a time.

GROUP BY And HAVING

Folha de dicas do SQL: guia rápido para comandos essenciais

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

Folha de dicas do SQL: guia rápido para comandos essenciais

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:

  1. IN

  2. EXISTS

  3. ANY

  4. 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)

Folha de dicas do SQL: guia rápido para comandos essenciais

Data Manipulation Language (DML) is a sub-language within SQL for managing and updating data. The most common statements are:

  1. INSERT

  2. UPDATE

  3. 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 exemplo, se você deseja excluir um usuário com o id '1' da tabela 'usuários', sua consulta ficaria assim:

DELETE FROM users
WHERE id = 1;

DICA : inclua sempre uma cláusula WHERE para especificar quais linhas excluir e para evitar excluir todas as linhas da tabela.

Gerenciamento de banco de dados com DDL

Folha de dicas do SQL: guia rápido para comandos essenciais

Data Definition Language (DDL) é a sublinguagem SQL usada para criar e alterar tabelas e o próprio banco de dados. As instruções DDL mais comuns são:

  1. CRIAR

  2. ALTERAR

  3. DERRUBAR

1. Declaração CREATE

A instrução CREATE permite criar novos objetos de banco de dados, como novas tabelas, exibições ou índices. Ao criar uma nova tabela, você precisa definir as colunas, seus tipos de dados e quaisquer restrições.

Aqui está um exemplo de criação de uma tabela de pedidos:

CREATE TABLE orders (
    id INTEGER PRIMARY KEY,
    product VARCHAR(255) NOT NULL,
    customer_id INT NOT NULL
);

DICA: escolha os tipos de dados e restrições apropriados para garantir a integridade dos dados em suas tabelas.

Para uma visão mais detalhada, confira nosso artigo sobre operações básicas de tabelas SQL .

2. Declaração ALTER

A instrução ALTER ajuda a modificar objetos de banco de dados existentes. Os usos comuns incluem:

  • adicionando, modificando ou descartando colunas.

  • adicionar ou remover restrições de uma tabela existente.

  • adicionando chaves primárias e estrangeiras.

ADICIONE UMA NOVA COLUNA

ALTER TABLE users ADD COLUMN age INTEGER;

Modificar o tipo de dados de uma coluna

ALTER TABLE users ALTER COLUMN age TYPE FLOAT;

Solte uma coluna

ALTER TABLE users DROP COLUMN age;

Adicionar uma restrição exclusiva

ALTER TABLE users ADD CONSTRAINT users_email_unique UNIQUE(email);

Adicionar uma chave estrangeira entre tabelas

ALTER TABLE users ADD FOREIGN KEY (country_id) REFERENCES Country(country_id);

3. Declaração DROP

A instrução DROP permite remover objetos de banco de dados como tabelas, exibições ou índices. Use-o com cuidado, pois ele excluirá permanentemente o objeto especificado e todos os seus dados.

Aqui está um exemplo:

DROP TABLE users;

DICA : Certifique-se de ter backups adequados antes de executar uma instrução DROP.

Se você quiser aprender mais sobre modelagem de dados, confira este vídeo:

Transações

As transações desempenham um papel crucial na manutenção da integridade do banco de dados , especialmente quando várias operações relacionadas são executadas simultaneamente. Existem três operações fundamentais no tratamento de transações:

  1. COMEÇAR

  2. COMPROMETER-SE

  3. REVERSÃO

1. COMEÇAR

A instrução BEGIN significa o início de uma transação. Ao executar esse comando, você estabelece um ponto de partida para seu conjunto de instruções SQL.

BEGIN;

2. COMPROMISSO

Para finalizar suas alterações e mantê-las no banco de dados, use a instrução COMMIT. Isso garante que todas as operações dentro da transação sejam executadas com sucesso e de forma permanente.

COMMIT;

Aqui está um exemplo de uma transação completa usando o exemplo clássico de transferência de fundos entre contas:

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

3. REVERSÃO

Folha de dicas do SQL: guia rápido para comandos essenciais

Ao trabalhar com transações, também é essencial saber como desfazer alterações quando ocorre um erro. A instrução ROLLBACK reverte todas as alterações feitas desde o início da transação:

ROLLBACK;

Aqui está um exemplo de uma transação com tratamento de erros 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;

Pensamentos finais

Como você viu nesta folha de dicas do SQL, o SQL oferece diversos comandos e funções que permitem criar, manipular e consultar dados em um banco de dados relacional.

Desde os comandos básicos como SELECT, INSERT, UPDATE e DELETE, até as construções mais complexas como JOINs e subconsultas, até as funções agregadas que abordamos, o SQL fornece a flexibilidade para lidar com uma ampla variedade de tarefas de dados.

Continue voltando a esta folha de dicas para acelerar sua jornada para aprender SQL !

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.