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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-13.jpg?w=604
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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-22.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-34.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-322.jpg?w=604
*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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-42.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-53.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-521.jpg?w=604
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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-62.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-73.jpg?w=604
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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-721.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-91.jpg?w=604
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';
http://andrielleazevedo.files.wordpress.com/2011/06/select-921.jpg?w=604
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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-101.jpg?w=604
E para recuperar a nota mínima de todos os alunos matriculados, utilize o comando MIN.
select min (nota) as nota_minima from aluno;
http://andrielleazevedo.files.wordpress.com/2011/06/select-1021.jpg?w=604
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;
http://andrielleazevedo.files.wordpress.com/2011/06/select-111.jpg?w=604