Início » SQL Server » Usando o comando SELECT no SQL Server

Usando o comando SELECT no SQL Server

Através do comando SELECT podemos recuperar os dados existentes no BD, de acordo com os critérios desejados. Para exemplificar, vamos criar uma pequena tabela e inserir alguns dados na mesma.

create table aluno (
codigo_aluno int not null primary key,
nome varchar (50),
nota int,
sexo char (1)
);

insert into aluno values (1, 'Ana Paula', 7, 'F'), (2, 'Henrique', 5, 'M'), (3, 'Joana', 4, 'F'), (4, 'Marcos', 8, 'M'), (5, 'Cláudio', 9, 'M'), (6, 'Maria', 9, 'F'), (7, 'Andrielle', 3, 'F'), (8, 'Virgílio', 6, 'M'), (9, 'Danilo', 6, 'M'), (10, 'Maciel', 5, 'M');

1 – Mostre todos os registros da tabela aluno.

Podemos recuperar todas as colunas de uma tabela utilizando o asterisco *. Neste exemplo, quero recuperar todos os registros existentes na tabela aluno. Então, coloco o comando SELECT para selecionar esses registros, o asterisco informando que são todos os registros e FROM ALUNO que é a tabela selecionada.

select * from aluno;

2 – Mostre os nomes de todos os alunos.

Nesse exemplo, quero recuperar todos os nomes de alunos existentes na tabela. Então, coloco o comando SELECT, o nome do campo que quero selecionar da tabela, que no caso é NOME e FROM ALUNO que é o nome da tabela.

select nome from aluno;

3 – Mostre os nomes de todos os alunos do sexo feminino / masculino.

Nesse exemplo, quero recuperar nome de alunos do sexo feminino. Por isso, temos uma condição a verificar: alunos do sexo feminino. Utilizo, então, a cláusula WHERE, que é um operador de restrição. Posso complementar seu uso com operadores lógicos como = (igual), (maior que), = (maior que ou igual a). Então, coloco o comando SELECT, o nome do campo que quero selecionar da tabela, que no caso é NOME e FROM ALUNO que é o nome da tabela aplicando a condição WHERE SEXO=’F’, que significa ONDE SEXO=’F’.

select nome from aluno where sexo='F';

E para recuperar os nomes de todos os alunos do sexo masculino, basta substituir sexo=’F’ por sexo=’M’.

select nome from aluno where sexo='M';

Observação: a cláusula AS utilizada em todos os exemplos serve para nomear os dados que serão recuperados.

4 – Mostre o total de alunos matriculados.

Nesse exemplo, quero recuperar a quantidade de alunos matriculados na tabela. Então, entro com o comando SELECT, comando COUNT para trazer o total, e como quero verificar todos os registros da tabela, uso o asterisco e FROM ALUNO que é a tabela selecionada. Resultado: 10 alunos matriculados.

select count (*) as total_alunos_matriculados from aluno;

5 – Mostre o total de alunos do sexo feminino / masculino.

Nesse exemplo, quero recuperar o total de alunos que sejam do sexo feminino. Então, entro com o comando SELECT, comando COUNT para trazer o total e como quero verificar todos os registros da tabela, uso o asterisco, FROM ALUNO que é a tabela selecionada, adicionando a condição/restrição WHERE SEXO=’F’. Resultado: 4 alunos matriculados que são do sexo feminino.

select count (*) as meninas from aluno where sexo='F';

E para mostrar o total de alunos que sejam do sexo masculino, troco WHERE SEXO=’F’ por WHERE SEXO=’M’. Resultado: 6 alunos matriculados que são do sexo masculino.

select count (*) as meninos from aluno where sexo='M';

6 – Mostre a soma global das notas dos alunos.

Nesse exemplo, quero recuperar a soma geral das notas dos alunos. Então, entro com o comando SELECT, comando SUM que significa soma e entre parênteses coloco o nome do campo que quero recuperar a soma, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Resultado: a soma das notas de todos os alunos é 62.

select sum (nota) as soma_notas from aluno;

7 – Mostre a soma global das notas das meninas / meninos.

Nesse exemplo, quero recuperar a soma das notas dos alunos que sejam do sexo feminino. Então, entro com o comando SELECT, comando SUM da soma e entre parênteses coloco o nome do campo que quero recuperar a soma, que no caso é NOTA, FROM ALUNO que é a tabela selecionada e, adiciono ainda, a restrição/condição dessa soma, que são alunos do sexo feminino: WHERE SEXO=’F’. Resultado: a soma das notas dos alunos do sexo feminino é 23.

select sum (nota) as soma_notas_meninas from aluno where sexo='F';

E para recuperar a soma das notas dos alunos do sexo masculino troco WHERE SEXO=’F’ por WHERE SEXO=’M’. Resultado: a soma das notas dos alunos do sexo masculino é 39.

select sum (nota) as soma_notas_meninos from aluno where sexo='M';

8 – Mostre a média da turma.

Nesse exemplo quero recuperar a média de notas de todos os alunos. Para recuperar a média geral, uso o comando AVG, entre parênteses o campo da tabela onde serão selecionados os dados, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Resultado: a média geral das notas dos alunos matriculados é 6.

select avg (nota) as media from aluno;

9 – Mostre a média do sexo feminino / masculino.

Nesse exemplo, quero recuperar a média de notas dos alunos do sexo feminino. Para recuperar essa média, uso o comando AVG, entre parênteses o campo da tabela onde serão selecionados os dados, que no caso é NOTA e FROM ALUNO que é a tabela selecionada. Porém, como as notas selecionadas são apenas de alunos do sexo feminino, tenho que especificar essa condição usando a cláusula WHERE SEXO=’F’. Resultado: a média de notas dos alunos do sexo feminino é 5.

select avg (nota) as media_meninas from aluno where sexo='F';

E para recuperar a media de notas dos alunos do sexo masculino, troco WHERE SEXO=’F’ por WHERE SEXO=’M’. Resultado: a média de notas dos alunos do sexo masculino é 6.

select avg (nota) as media_meninos from aluno where sexo='M';

10 – Mostre a nota máxima / mínima.

Nesse exemplo, quero recuperar a nota máxima de todos os alunos matriculados. Para recuperar essa nota máxima, utilize o comando MAX.

select max (nota) as nota_maxima from aluno;

E para recuperar a nota mínima de todos os alunos matriculados, utilize o comando MIN.

select min (nota) as nota_minima from aluno;

11 – Mostre a soma das notas, a nota máxima, a nota mínima e a média.

select sum (nota) as SomaGeral, 
max (nota) as NotaMaxima,
min (nota) as NotaMinima,
avg (nota) as Media from aluno;

Bons estudos!

Andrielle Azevedo de Paula
MTAC – Microsoft Technical Audience Contributor


17 Comentários

  1. Daniel disse:

    Perfeito o Tutorial..

  2. Valeu. Me ajudou bastante!!!

  3. Nemias marques disse:

    Parabens! Aprendi muito.

  4. Renan Lazari disse:

    Excelente conteúdo.. fácil interpretação, parabéns!

  5. Cintia Mateus disse:

    Muito bom, me ajudou a lembrar de muita coisa que estudei na facul. Obrigada!!!

  6. Aurelio Brasil disse:

    Muito bom mesmo, fácil entendimento para leigos. Valeu.

  7. CLAUDIO disse:

    REALMENTE MUITO INTERESSANTE
    SE VOCÊ TIVER ALGUMA COISA SOBRE “SELECT CAS” E “FLOAT” E PUDER PUBLICAR ME AJUDARIA BASTANTE

  8. thiago co disse:

    excelente trabalho ajudou d mais obrigado

  9. Muito bela a autora 😉

  10. Alam Maia disse:

    Muito útil, parabéns pela iniciativa.

  11. Julio Ribeiro disse:

    Nobre Andrielle, primeiramente parabéns pela postagem do conteúdo. Muito didático e bem elaborado. Gostaria de contar com uma ajuda sua em resolver a seguinte situação: tenho uma tabela vendedor (vendcod_pk, vendnome) e uma tabela pedido (pedseq_pk, pedtotal, vendcod_fk). Preciso exibir somente o nome do vendedor que mais vendeu. Consigo exibir a lista com todos os vendedores e suas respectivas vendas através do código: select vendnome, sum(pedtotal) from vendedor, pedido where vendedor.vendcod=pedido.vendcod group by vendnome order by sum(pedtotal) desc . Como faria pra exibir apenas o nome do vendedor que mais vendeu uma vez que tenho um sum(pedtotal) para calculara todas as vendas de cada vendedor?

  12. Marcio disse:

    Julio Ribeiro, utiliza o TOP 1… pesquisa aí no google sobre como utilizar o comando TOP em sql que você resolve o teu problema.. Abraço.

  13. Roberio Silva disse:

    ADOREI OS EXEMPLOS, TUDO QUE EU PRECISAVA PARA SEGUIR COM OS ESTUDOS.

  14. Parabéns! Conteúdo bem simples e amplo! Tirar Mb na prova! kkk sqn?!

  15. Parabéns pelo conteudo

  16. Felipe Pinho disse:

    Muito bom, o conteúdo do site está excelente…

Deixar mensagem para Cintia Mateus Cancelar resposta