DQL
DQL, Linguagem de Consulta de Dados. É a mais popular, para quem não precisa necessariamente conhecer o funcionamento de um banco de dados, mas somente consultar suas informações. O principal comando deste subconjunto, é o select
.
Select
É uma declaração SQL, que retorna um conjunto de resultados de registros, de uma ou mais tabelas. Ela recupera zero ou mais linhas de uma ou mais tabelas-bases, tabelas temporárias ou visões em um banco de dados. Na maioria das aplicações, select
, é o comando de Linguagem de Manipulação de Dados mais utilizado.
SELECT * FROM marca;
Asterisco *
Nesse caso o * (asterisco), quer dizer TODOS, ou seja, TODOS os campos da tabela.
From
A palavra from
define a tabela ou tabelas a serem selecionadas.
Alias
Os aliases SQL, são usados para dar a uma tabela ou coluna de uma tabela, um nome temporário. Os apelidos, costumam ser usados para tornar os nomes das colunas, mais legíveis. Um alias existe apenas durante essa consulta. Um alias é criado com a as
palavra - chave.
SELECT nome AS nm FROM modelo;
Where
Usamos where
, para filtrar dados em um comando SQL. Essa cláusula deve ser seguida por uma expressão lógica. Vemos a seguir, um exemplo da sintaxe dessa cláusula:
Exemplo:
SELECT id, nome, excluido
FROM marca
WHERE excluido = FALSE;
Percebeu que com o where
, ficará mais fácil de obter dados?! Mas não será só isso, o where
contém vários tipos de operadores, com diferentes funções. Vamos aprender cada um deles!
Operadores lógicos
Order by
O order by
organiza os resultados de acordo com uma ou mais colunas da tabela, podendo definir a ordem do resultados como, crescente ou decrescente. Caso a ordem não seja declarada, será crescente (ASC) e decrescente (DESC) por padrão.
Exemplo:
SELECT * FROM modelo
ORDER BY nome asc;
Nesse código acima, organizamos os nomes dos candidatos, em ordem alfabética crescente.
Group By
Uma instrução group by
, em SQL, especifica que uma instrução SQL SELECT, divide linhas de resultados em grupos, com base em seus valores, em uma ou várias colunas. Normalmente, o agrupamento é usado para aplicar algum tipo de função de agregação, para cada grupo.
Cenário: Suponhamos que, queremos saber a quantidade de modelos de cada marca e que estão ativos.
SELECT marca_id, count(*) AS total_modelo
FROM modelo
WHERE excluido = FALSE
GROUP BY marca_id;
- Usamos o
count
para contar o número de modelos para cada marca;
Having
A cláusula HAVING é usada em conjunto com a cláusula GROUP BY para filtrar grupos de linhas retornadas por uma consulta que agrupa os resultados com base em uma ou mais colunas. Enquanto a cláusula WHERE é usada para filtrar linhas antes que as funções de agregação sejam aplicadas (como COUNT, SUM, AVG, etc.), a cláusula HAVING é usada para filtrar grupos de linhas após as funções de agregação terem sido aplicadas.
Por exemplo, se você tiver uma consulta que usa GROUP BY para agrupar as vendas por produto e SUM para calcular o total de vendas para cada produto, você pode usar HAVING para filtrar apenas os produtos cujo total de vendas seja maior que um determinado valor.
Suponha que queremos encontrar as marcas que têm mais de 3 modelos:
SELECT marca_id, COUNT(*) AS total_modelos
FROM modelo
GROUP BY marca_id
HAVING COUNT(*) > 3;
Like
Quando estamos selecionando valores no MySQL, em várias ocasiões, não queremos um dado específico, mas valores que contenham parte, do que gostaríamos de encontrar. LIKE pode receber dois caracteres curinga, para substituir as partes dos valores que não sabemos ou queremos omitir.
Expressão | Resultado |
---|---|
LIKE 'Fiat%' | Correspondência com valores que começam com "Fiat" |
LIKE '%gen' | Correspondência com valores que terminam com "gen" |
LIKE '%Mobi%' | Correspondência com valores que contêm "Mobi" |
LIKE 'A_' | Correspondência com valores que começam com "A" e têm apenas dois caracteres |
LIKE '_A' | Correspondência com valores que terminam com "A" e têm apenas dois caracteres |
LIKE 'A' | Correspondência com valores que são exatamente "A" |
LIKE '%A_' | Correspondência com valores que terminam com "A_" |
LIKE '_A%' | Correspondência com valores que começam com "_A" |
LIKE '___' | Correspondência com valores que têm exatamente três caracteres |
LIKE '___%' | Correspondência com valores que têm pelo menos três caracteres |
LIKE '%''%' | Correspondência com valores que contêm o caractere "%" |
Functions
As funções SQL, executam uma lista arbitrária de declarações SQL, retornando o resultado da última consulta da lista, é uma função armazenada, onde é possível passar parâmetros para ela e então retornar um valor. Dentre delas temos:
AVG(n)
: Calcula o valor médio de "n" ignorando os valores nulos.COUNT
: Conta o número de vezes, que a expressão avalia algum dado, com valor não nulo. A opção "*" conta todas as filas selecionadas.MAX
: Calcula o máximo.MIN
: Calcula o mínimo.SUM
: Obtém a soma dos valores da expressão.GREATEST
: (valor1, valor2): Obtém o maior valor da lista.LEAST
: (valor1, valor2): Obtém o menor valor da lista.
Utilizamos os exemplos das tabelas de Marca e Modelo utilizadas no nosso projeto prático do Iza car. Para saber mais e aprender ainda mais acesse: Iza Car