-
-
Save reginadiana/fc81ecaffa91e9562a8bd7e3059f90ae to your computer and use it in GitHub Desktop.
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