--comandos sql
-- comando para criar banco de dados - create database <nomebanco>;

create database alunoetim;  //criar no banco postgres

--criando tabelas no banco de dados
-- create table <nome_tabela>(<campos tipo restrição>);

--aluno={codaluno, nomealuno, curso, sexo, cidade, rm,
--endereço}

create table aluno(
    codaluno  serial primary key,
    nomealuno varchar(100) not null,
    curso varchar(70) not null,
    sexo varchar(9) not null,
    cidade varchar(100) not null,
    rm integer not null unique,
    endereco varchar(100) not null
);

-- comando para inserir dados na tabela
-- insert into <nometabela>(campos)values(valores);
insert into aluno(nomealuno, curso, sexo, cidade, rm, endereco)
values
('MARCELO ESTREMOTE','INFORMATICA','MASCULINO','ISA',10144,'RUA 10, 21'),
('teste','mecanica', 'masculino','pbto',112,'rua 10, 23'),
('xuxu','eventos','masculino','selvíria',122,'xxx, xx');

select * from aluno;

insert into aluno(nomealuno, curso, sexo, cidade, rm, endereco)
values
('ELAINE PRATO','ENFERMAGEM','FEMININO','ISA',1015,'RUA 16, 210'),
('MARCOS ANTONIO SILVEIRA','MECANICA','MASCULINO','ISA',1011,'RUA 15, 100'),
('JESSICA','TURISMO','FEMININO','PB',1012,'PASSEIO JEQUIE, 110');

-- SELECIONA TODOS OS CAMPOS DA TABELA
SELECT * FROM ALUNO;

-- APAGANDO DADOS DE UMA TABELA
-- DELETE FROM <NOMETABELA>
delete from aluno; -- apaga todos os registros

select * from aluno;

-- condições em comandos SQL (where <condicao>)
delete from aluno where codaluno = 8; -- apaga quando codaluno = 8

-- apaga todos alunos com codaluno maior que 100
delete from aluno where codaluno > 100; 

--apaga todos os registros do sexo feninino
delete from aluno where sexo = 'FEMININO';

-- seleciona todos os campos da tabela aluno onde codaluno = 12
select * from aluno where codaluno = 12;

-- seleciona todos os campos da tabela aluno onde codaluno > 5
select * from aluno where codaluno > 1;

select * from aluno where curso = 'mecanica';

select nomealuno, rm from aluno where curso = 'mecanica';

select * 
from aluno 
where rm > 10 and sexo = 'FEMININO' AND cidade = 'ILHA SOLTEIRA';

delete from aluno; -- Apaga todas as informações da tabela

delete from aluno where rm = 19999;

select * from aluno;

delete from aluno where curso = 'mecanica';

select * from aluno;

-- Funcao soma - SUM
select sum(codaluno)  from aluno;

-- Definindo apelidos para campos
select sum(codaluno) as totalcodigo  from aluno;

-- Utilizando a Função SUM com condições
select sum(codaluno) from aluno where codaluno < 8;

-- Função maior Valor - MAX - Retorna o maior valor
select max(codaluno) from aluno;

select max(codaluno) as maiorcodigo from aluno;

-- Função Menor Valor - MIN - Retorna o menor valor
select min(codaluno) from aluno;

-- Função de Contagem de Registros (COUNT)
select count(nomealuno) as total from aluno;

select * from aluno;

-- Função Média dos Valores - AVG
select avg(codaluno) as media from aluno;