Skip to content

Instantly share code, notes, and snippets.

@reginadiana
Last active May 6, 2025 12:28
Show Gist options
  • Save reginadiana/fc81ecaffa91e9562a8bd7e3059f90ae to your computer and use it in GitHub Desktop.
Save reginadiana/fc81ecaffa91e9562a8bd7e3059f90ae to your computer and use it in GitHub Desktop.
Anotações sobre SQL e Banco de Dados

📚 Para acessar o conteúdo introdutório sobre SQL, acesse este notion

As sintaxes apresentadas sao baseadas em SQL, mas vale lembrar que dependendo do tipo de banco que esteja utilizando (ex: Oracle, SQL Server), algumas sintaxes podem mudar.

Select TOP

É bem parecido com o uso do LIMIT. Com o TOP conseguimos limitar uma quantidade de retornos baseado em valores fixos ou em porcentagem. É útil para base de dados grandes.

Limitando por valor fixo:

SELECT TOP 50 <column> FROM <table>;

Limitando por porcentagem:

Se quisermos puxar 90% da base, podemos fazer

SELECT TOP 90 PERCENT <column> FROM <table>;

Para o Oracle por exemplo, usariamos uma sintaxe com FETCH FIRST

Podemos mesclar a seleçao com top com outras queries como where, order by, etc:

SELECT TOP 5 <column> FROM <table>
WHERE column is not null
SELECT TOP 3 * FROM <table>
ORDER BY <column> DESC;

Podemos aplicar funções nativas nas nossas queries.

MAX()

Retorna o maior valor daquela coluna. Ex: retornar o maior preço

SELECT MIN(Price)
FROM Products; 

MIN()

Retorna o menor valor daquela coluna. Ex: retornar o menor preço

SELECT MIN(Price)
FROM Products; 

Agregando outras queries. Ex: retorna uma coluna com os menores valores em conjunto com seus respectivos category ids.

Aqui, o AS está sendo usado para definir um nome descritivo (SmallestPrice) para o retorno de MAX(Price)

SELECT MIN(Price) AS SmallestPrice, CategoryID
FROM Products
GROUP BY CategoryID; 

É possível definir uma frase ou conjunto de palavras como alias. Ex:

SELECT COUNT(*) AS [Number of records]
FROM Products;

COUNT()

Retorna a quantidade de valores daquela coluna considerando valores nulos. Ex: retornar quantos preços existem

SELECT COUNT(Price)
FROM Products; 

SUM()

Retorna o valor somado dos valores daquela coluna. Ex: retornar a soma total de todos os preços

SELECT SUM(Price)
FROM Products; 

Podemos ainda manipular expressões dentro da função, como por exemplo multiplicando cada quantidade por 10 e depois somando tudo

SELECT SUM(Quantity * 10)
FROM OrderDetails;

Podemos ainda manupular e relacionar tabelas diferentes:

SELECT SUM(Price * Quantity)
FROM OrderDetails
LEFT JOIN Products ON OrderDetails.ProductID = Products.ProductID;

AVG()

Retorna a média dos valores daquela coluna, ignorando valores nulos. Ex: retornar a média de preço

SELECT AVG(Price)
FROM Products; 

Podemos ainda manular outras queries em cima, como por exemplo, puxando todos os produtos cujo seu valor é maior do que a média:

SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);

LIKE

O LIKE é usado em conjunto com o WHERE para fazer buscas mais sofisticadas em strings. Podemos buscar por valores que começem, terminem ou contenham com letras especificas por exemplo.

... continuar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment