O projeto está inativo

Documentação SQL

Aqui você encontra informações sobre dois dos subconjuntos da linguagem SQL cujos comandos são mais utilizados. Aprenda sobre a DQL (Data query Language) e a DML (Data Manipulation Language).

258

Top

O TOP é uma cláusula SQL que especifica o número de linhas que devem ser retornadas no resultado de uma consulta.

Este recurso não está disponível em todos os SGBDS, como alternativa podem ser utilizadas as cláusulas LIMIT para MySQL, ROWNUM para Oracle e FIRST para Firebird.

Visão geral

A utilização dessa cláusula é muito comum entre os desenvolvedores, podendo inclusive trabalhar em conjunto a cláusula ORDER BY como opção para trazer o menor ou maior valor de uma determinada coluna, de acordo com o parâmetro da ordenação.

Considere o seguinte cenário em que uma escola possui uma tabela chamada aluno Tabela 1, responsável por armazenar a informação de todos os alunos da instituição, contendo nome, email e a identificação da turma do aluno.

id nome email id_turma
1 João Fernando joao@gmail.com 1
2 Maria Carvalho maria@gmail.com 1
3 Bruna dos Santos bruna@gmail.com 2
4 Pedro da Silva pedro@gmail.com 2
5 Tiago Pereira tiago@gmail.com 1
Tabela 1. Estrutura da tabela aluno

Supondo que de todos os registros dessa tabela desejamos retornar apenas os três primeiros, utilizaremos em um SGBD que possua a cláusula TOP, a seguinte consulta:

SELECT
  TOP 3
  *
FROM
  aluno

Note acima que utilizamos a instrução TOP 3 para trazer apenas os três primeiros registros, conforme apresentado na Tabela 2.

id nome email id_turma
1 João Fernando joao@gmail.com 1
2 Maria Carvalho maria@gmail.com 1
3 Bruna dos Santos bruna@gmail.com 2
Tabela 2. Resultado da consulta utilizando a cláusula TOP 3

Sintaxe

SELECT
  TOP N
  [ coluna1, coluna2, ... | * ]
FROM
  [ tabela1, tabela2, ... ]

* Onde N é o número de linhas que serão retornadas.

Na pratica

Exemplo 1

Neste exemplo utilizaremos o TOP em conjunto com a cláusula ORDER BY para que os resultados retornados possam ser ordenados em ordem ascendente ou descendente, utilizando ASC ou DESC, conforme código abaixo:

SELECT
  TOP 3
  *
FROM
  aluno
ORDER BY
  nome ASC

O resultado pode ser visto na Tabela 3.

id nome email id_turma
3 Bruna dos Santos bruna@gmail.com 2
1 João Fernando joao@gmail.com 1
2 Maria Carvalho maria@gmail.com 1
Tabela 3. Resultado da consulta utilizando ORDER BY nome

Observe que no resultado da consulta (Tabela 3) utilizando o ORDER BY exibimos o resultado ordenado por nome de forma ascendente (ASC).

Exemplo 2

Para um exemplo um pouco mais complexo, considere o seguinte cenário:

Uma empresa chamada Tem de Tudo possui duas tabelas principais, a tabela produto (Tabela 4), responsável por armazenar todos os produtos da loja, e a tabela venda_produto (Tabela 5), responsável por gerenciar a saída desses produtos.

Id Nome preco
1 Bola 35.00
2 Patinete 120.00
3 Carrinho 15.00
4 Skate 296.00
5 Notebook 3500.00
6 Monitor LG 19 450.00
7 O Diário de Anne Frank 45.00
8 O dia do Curinga 65.00
9 O mundo de Sofia 48.00
10 Através do Espelho 38.00
Tabela 4. Tabela produto

Id Id_produto data valor
1 1 2018-07-15 35.00
2 2 2018-07-15 120.00
3 2 2018-07-14 120.00
4 3 2018-07-15 15.00
5 7 2018-07-15 45.00
6 8 2018-07-15 65.00
7 8 2018-07-16 65.00
8 9 2018-07-16 48.00
9 5 2018-07-16 3500.00
10 5 2018-07-16 3500.00
11 6 2018-07-16 450.00
12 1 2018-07-15 35.00
13 2 2018-07-15 120.00
Tabela 5. Tabela venda_produto

Suponhamos que a empresa Tem de tudo deseja saber quais os três produtos que tiveram o maior valor de receita. Para isso, podemos utilizar o fragmento de código abaixo:

  SELECT TOP 3
   P.nome,
   SUM(VN.valor) as TOTAL
  FROM 
   produto P, venda_produto VN
  WHERE 
   P.id = VN.id_produto
  GROUP BY
   P.id
  ORDER BY
   TOTAL DESC

Observe que no trecho de código acima, na linha 1 pedimos para listar os três primeiros registros. Logo abaixo na linha 3 pedimos para que o valor da coluna valor seja somada. Nas linhas 4 e 5 informamos que a consulta será realizada na tabela produto, nomeada de P, e na tabela venda_produto, nomeada VN.

Em seguida, nas linhas 6 e 7 informamos que a consulta terá como filtro o id da tabela produto ser o mesmo que na tabela venda_produto, realizando o vínculo entre elas.

Nas linhas 8 e 9 agrupamos o resultado por id do produto e, por fim nas linhas 10 e 11 ordenamos essa consulta pelo valor TOTAL, de forma decrescente, ou seja, do maior valor para o menor. O resultado pode ser visto na Tabela 6.

nome TOTAL
Notebook 7000.00
Monitor LG 19 450.00
Patinete 240.00
Tabela 6. Resultado da consulta pelos 3 produtos com maior rendimento

No exemplo acima utilizamos a função agregadora SUM, a cláusula GROUP BY e ORDER BY.

Saiba mais Veja a Série SQL nível Jedi: Subqueries
<Formação completa Programador FullStack/>
  • Conteúdo Front-end, Back-end e Mobile
  • Plano de estudo linear
  • +10 mil exercícios gamificados
  • +50 projetos reais
  • Comunidade com + 200 mil alunos
  • Suporte 365 dias do ano
  • 12 meses de acesso

Perguntas frequentes

Quem somos?
A DevMedia é uma escola de formação de programadores com mais de 20 anos de mercado. Já formamos mais de 100 mil programadores. A DevMedia ensina programação web, (desenvolvimento de site e aplicativos para celulares). A programação web é a área que mais contrata programadores em todo o mundo, sendo a maior porta de entrada para a área da tecnologia.
Por que a programação se tornou a profissão mais promissora da atualidade?
Nunca o mundo necessitou tanto de programadores como atualmente. Com a quarentena estabelecida pela Covid-19, lojas, restaurantes, escritórios e escolas, que tiveram suas atividades paralisadas, perceberam a urgente necessidade de adaptar seus negócios para o mundo digital. Em contrapartida as empresas de tecnologias, durante esse período, cresceram como nunca tanto em faturamento quanto em número de usuários. Com isso a necessidade de programadores cresceu muito. Empresas de grande e pequeno porte estão com vagas abertas e não conseguem contratar por falta de profissionais qualificados. No momento estima-se que o número de oportunidades no Brasil seja acima de 200 mil!
Como faço para começar a estudar?
Programação é um universo amplo, existem muitos caminhos e por isso é muito fácil se perder. Nosso conselho é: NÃO ESTUDE SOZINHO. Infelizmente 78% das pessoas que começam a estudar sozinhas desistem da profissão por não conseguirem aprender. Com uma boa orientação elas teriam conseguido! Se você tomou a decisão de entrar nesse mercado, faça um investimento no seu futuro e busque aprender com quem sabe. Isso vai triplicar suas chances de dominar a programação e conquistar uma vaga no mercado.
Em quanto tempo de estudo vou me tornar um programador?
O tempo depende, claro, da dedicação de cada estudante. A DevMedia ensina programação há 20 anos e com toda essa experiência montamos uma metodologia que tem como objetivo principal acelerar os seus estudos. Você terá um Plano de Estudo para te orientar em todos os passos do aprendizado. Desenvolverá diversos projetos reais para colocar em prática os conhecimentos e contará com o melhor suporte ao aluno da web. Todas as suas dúvidas serão respondidas de imediato. Seguindo nossa metodologia e se dedicando, entre 6 meses e um ano você já estará programando.
Sim, você pode se tornar um programador e não precisa ter diploma de curso superior!
Ser programador é uma das maiores oportunidades que o Brasil oferece para quem não tem condições de fazer uma faculdade. Muitas empresas contratam sem fazer questão de diploma, o que importa para elas é que o candidato seja um bom técnico e consiga atender suas necessidades. Os salários iniciais para programadores são de R$2.500 mil, podendo chegar aos R$15 mil para aqueles que se dedicam. Com disciplina e um estudo correto, que não te faça perder tempo, é possível se tornar um programador em menos de um ano de estudo. Quando você já estiver empregado, aí sim você pode se aprimorar ainda mais fazendo uma faculdade na área.
O que eu irei aprender estudando pela DevMedia?
Nossas trilhas de estudo te permitem virar um programador Full Stack, que é aquele programador mais completo, ele domina o desenvolvimento Front-end, Back-end e Mobile. Você ficará apto para criar sistemas para computadores e aplicativos para celulares. Utilizamos como base a linguagem JavaScript que é a linguagem mais utilizada no mundo. Outra vantagem do JavaScript é a quantidade de oportunidades no mercado de trabalho. É sem dúvida a linguagem que mais possui vagas e a que mais dá oportunidade para os iniciantes.
Principais diferenciais da DevMedia
Suporte ao aluno - O aluno conta com a ajuda de professores para tirar dúvidas durante toda a jornada de ensino. As perguntas são respondidas em menos de uma hora por professores experientes e atuantes no mercado. Gamificação - A plataforma de ensino é divertida e motivante. É como se o aluno estivesse dentro de um game. Ele terá seu card pessoal, que poderá ser customizado utilizando as moedas que ele ganha quando acerta os exercícios. Ele poderá também trocar suas moedas por outros produtos dentro da plataforma. Além disso, seus acertos contam pontos no ranking mensal dos alunos. Tudo isso deixa os estudos mais leves e motivantes. Didática - A DevMedia já ensina programação há mais de 20 anos. Desenvolvemos ao longo desse tempo uma metodologia que ensina a programar de verdade, com menos aulas e mais prática, são dezenas de projetos e exercícios que desenvolvem a mente programadora no aluno. Projetos reais - Durante os estudos os alunos irão desenvolver dezenas de projetos em cada uma das carreira (front-end, back-end e mobile). Mas o principal é que os projetos da DevMedia não são “copia e cola” como se encontra por aí. Aqui o aluno vai desenvolver os projetos de forma autônoma, recebendo claro a nossa mentoria e suporte, mas o aluno terá condições para desenvolvê-los sozinho. Milhares de exercícios - Programação é prática, por isso a cada nova matéria o aluno passará por um bloco de exercícios para fixar o conteúdo e cada acerto será bonificado com pontos e moedas e valem uma posição no ranking dos alunos.
Qual o investimento financeiro que preciso fazer para me tornar um programador?
Na internet é possível encontrar cursos de todos os preços, desde 50,00 a R$15.000,00. Os cursos de 50,00 são cursos avulsos, que explicam apenas pedaços de uma determinada matéria. Para criar um conhecimento completo você precisaria comprar no mínimo de 15 a 20 cursos avulsos e correria o risco deles não se complementarem tão perfeitamente e seu conhecimento ficaria cheio de "buracos". Os cursos de R$15.000,00 não fazem nenhum sentido. Deixe para investir em cursos caros quando quiser se especializar. Por esse preço você pode inclusive estudar fora do pais. Na DevMedia, você terá um plano de estudo montado por quem já formou mais de 100 mil alunos, e já está nesse mercado há mais de 20 anos. Somos a única plataforma que oferece Suporte ao Aluno em tempo real e uma experiência de estudos gamificada para te manter motivado durante todo o período de estudo. E o melhor, nosso pagamento é recorrente, você não precisa usar o limite do seu cartão de crédito para investir no seu futuro. Aproveite para se matricular agora mesmo.
Como funciona a forma de pagamento da DevMedia?
Para que você possa investir nos seus estudos sem complicar sua vida financeira, a DevMedia cobra o valor da assinatura de forma recorrente, Igual o Netflix. Todos os meses debitamos o valor da parcela em seu cartão de crédito, sem comprometer o limite total do cartão. :) As primeiras 3 parcelas custam R$89,90 e a partir do 4o mês sua parcela diminui para R$49,90! Assim ela pesa cada vez manos no seu bolso! Nesse modelo, a gente te ajuda a pagar seus estudos, mas você precisa ajudar a gente a pagar nossos custos. Por isso a assinatura recorrente tem uma fidelidade de um ano. Essa fidelidade também vai te ajudar a se manter comprometido com os seus estudos. Temos um trato?

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar