Ordenação e Agrupamento na Linguagem SQL para o ISS-RJ
Veja neste artigo uma análise sobre Ordenação e Agrupamento, na Linguagem SQL, para o concurso do ISS-RJ.
Olá, pessoal! Tudo bem com vocês?
O edital do concurso de Fiscal de Rendas do ISS-RJ foi publicado. Como está a sua preparação? Esperamos que ela esteja a todo vapor.
Desse modo, com o intuito de ajudá-los na preparação para este certame, vamos aprender sobre Ordenação e Agrupamento, na Linguagem SQL, para o ISS-RJ.
Preparados? Então vamos lá!
Ordenamento em SQL para ISS-RJ
Ao realizar uma consulta no SQL, há situações nas quais é importante que o resultado seja ordenado, de acordo com determinado atributo, como idade, nota, medidas, ordem alfabética, entre outros.
Nesse sentido, um comando que pode ser utilizado nessas situações é o ORDER BY.
A sua sintaxe pode ser vista abaixo:
SELECT coluna1, coluna2, …
FROM nome_tabela
WHERE condição
ORDER BY coluna ASC/DESC
A SABER: O ASC é para ordem crescente. O DESC é decrescente.
Nada melhor do que um exemplo para clarear as ideias. Suponha a seguinte tabela:
Professor | |||
código | nome_professor | idade | disciplina |
12 | João | 26 | Matemática |
23 | Maria | 51 | Português |
34 | Fernando | 29 | Física |
34 | Fernando | 29 | Química |
45 | José | 60 | Química |
56 | Ronaldo | 44 | História |
56 | Ronaldo | 44 | Geografia |
Por exemplo, vamos supor que queremos como resultado os dados dos professores que não lecionam a disciplina de Português, em ordem alfabética:
SELECT *
FROM Professor
WHERE NOT disciplina=Português
ORDER BY nome_professor ASC
Assim, o resultado será:
código | nome_professor | idade | disciplina |
34 | Fernando | 29 | Física |
34 | Fernando | 29 | Química |
12 | João | 26 | Matemática |
45 | José | 60 | Química |
56 | Ronaldo | 44 | História |
56 | Ronaldo | 44 | Geografia |
FIQUE ATENTO: O comando ASC, em uma consulta de ordem crescente, pode ser suprimido. Já o comando DESC precisa estar expresso.
Agregação em SQL para ISS-RJ
As funções de agregação possuem a função de resumir valores de diferentes registros. Mas como assim?
Bom, com essa função, é possível saber a quantidade de registros de um atributo, quais são os valores máximos e mínimos de determinada coluna, entre outros. As principais funções de agregação do SQL são MAX (máximo), MIN (mínimo), SUM (somatório), AVG (média) e COUNT (contador).
A sintaxe para a utilização dos agregadores é:
SELECT FUNCAO(coluna1)
FROM nome_tabela
WHERE condição
Vamos dar um exemplo. Vamos supor que o usuário queira saber quantos professores lecionam a disciplina de Química. Neste caso, utiliza-se a função COUNT, a qual realiza a contagem dos registros de acordo com determinada condição. Assim:
SELECT COUNT(nome_professor)
FROM Professor
WHERE disciplina=’Quimica’
Assim, a resposta será:
COUNT (nome_professor) |
2 |
Outro exemplo é para saber qual é a fórmula para encontrar a idade máxima dos professores:
SELECT MAX(idade)
FROM Professor
Simples, não é?
Agrupamento em SQL
Por fim, vamos aprender sobre o agrupamento.
As funções de agrupamento são utilizadas para agrupar valores de acordo com determinado atributo.
Por exemplo, é possível que saibamos quantas disciplinas são ministradas por cada professor. A principal função de agrupamento é o GROUP BY, a qual é geralmente utilizada com funções de agregação.
A sintaxe da utilização do GROUP BY pode ser vista abaixo:
SELECT coluna1 FUNÇÃO (coluna2)
FROM nome_tabela
WHERE condição
GROUP BY coluna1
Nesse sentido, vamos observar como seria a fórmula para que seja retornado quantas disciplinas são ministradas por cada professor:
SELECT nome_professor COUNT(disciplina)
FROM Professor
GROUP BY nome_professor
Assim, o seguinte resultado será mostrado:
nome_professor | COUNT (disciplina) |
João | 1 |
Maria | 1 |
Fernando | 2 |
José | 1 |
Ronaldo | 2 |
Outro comando que é muito utilizado com o GROUP BY é o HAVING.
Usa-se o HAVING para inserir alguma condição no agrupamento. A nova sintaxe, utilizando o HAVING, seria:
SELECT coluna1 FUNÇÃO (coluna2)
FROM nome_tabela
WHERE condição
GROUP BY coluna1
HAVING condição
Por exemplo, vamos supor, novamente, que queiramos saber quantas disciplinas cada professor ministra, contudo, apenas queremos aqueles professores que ministram duas disciplinas ou mais. Desse modo, podemos utilizar seguinte fórmula:
SELECT nome_professor COUNT(disciplina)
FROM Professor
GROUP BY nome_professor
HAVING COUNT(disciplina) >= 2
Assim, a resposta apenas irá retornar aqueles valores em que a quantidade de disciplinas contadas for maior do que 2.
Desse modo, teríamos apenas os seguintes resultados:
nome_professor | COUNT (disciplina) |
Fernando | 2 |
Ronaldo | 2 |
Finalizando Ordenação e Agrupamento e SQL para ISS-RJ
Bom, pessoal! Chegamos ao fim do nosso artigo sobre Ordenação e Agrupamento, na Linguagem SQL, para o ISS-RJ.
Caso queira se preparar para chegar competitivo nesta prova, invista nos cursos para o ISS RJ do Estratégia Concursos. Lá você encontrará aulas completas e detalhadas, com os melhores professores do mercado.
Conheça também o Sistema de Questões do Estratégia. Afinal, a única maneira de consolidar o conteúdo de maneira satisfatória é através da resolução de questões. Lá você encontrará centenas de questões da Linguagem SQL, para o seu concurso.
Bons estudos e até a próxima.
Cursos e Assinaturas
Prepare-se com o melhor material e com quem mais aprova em Concursos Públicos em todo o país!