select valorbruto-valorliquido as descontofrom Movimento /*esse e o exercicio 1*/where valorbruto >valorliquidoselect dataemissao, status from Movimentowhere status=('F')and dataemissao >= '2009-07-01' /* esse e o exercicio 2*/and dataemissao <= '2010-10-01' select dataemissao, status from Movimentowhere status = ('F') or dataemissao between '2010-07-01'and'2010-001-01' /*esse e o exercicio 2*/select dataemissao, status from Movimentowhere status='F' andYEAR (dataemissao) = 2009 and /*esse e o exercicio 2*/MONTH (dataemissao)>=7select distinct codigofrom Movimento /*esse e o exercicio 3*/where codigomov = '1.1.06'select id,codigomovfrom Movimento /*esse e o exercicio 4*/where serie like '[CS][NV]T[0-9][0-9][0-9]%'select * from Movimentowhere (codigomov like '1%'and status <> 'F') /*esse e o exercicio 5*/or (codigomov like '2%'and status = 'F')sp_help clienteselect rua, numerofrom clientewhere RIGHT(numero,1)in ('0','2','4','6','8')/*exercicio 6 lado par da rua*/and rua='AV. PAULISTA' /*PS: fazer o do lado impar......e a mesma coisa*/select rua, numerofrom clientewhere numero like '%[02468]'/*exercicio 6 lado par da rua*/and rua = 'AV. PAULISTA'select distinct cep from clienteorder by cepselect cep from clientewhere cep is null or /*exercicio 7*/cep = '' orcep = '-' orcep = '*****-***'select rua from clientewhere SUBSTRING (rua,1,3)='AV.' or /*exercicio 8*/SUBSTRING (rua,1,3)='AV ' /*PS a substring pega 'rua' o nume'1=rua...(3=AV e espaco)......ou no caso de cima (3=AV.) */update clienteset rua = 'AVENIDA'+ SUBSTRING(rua,4,100)where SUBSTRING(rua,1,3)='AV.' or /*aqui eu alterei a coluna RUA*/SUBSTRING(rua,1,3)='AV '/*exercicio 9*/ALTER TABLE CLIENTE ADD NovoCodigo char(9) Algoritmo ConfereCPFVAR inteiro: d,a array[1..11]inteiro: i,s1,s2inteiro: d10, d11inicioescrever(digite o CPF deixando um espaco entre os digitos);para i de 1 ate 11 facaler(d[i]);;{multiplicar os digitos por um valor}para i de 1 ate 9 facaa[i] := d[i]*(11 i);{calcular a soma s1}s1 := 0;para i de 1 ate 9 facas1 := s1+a[i];{calcular o digito 10}d10 := 11 (s1 mod 11);se (d10 > 9) entao d10 := 0;{multiplicar os digitos por um valor}para i de 1 ate 10 facaa[i] := d[i]*(12 i);{calcular a soma s2}s2 := 0;para i de 1 ate 10 facas2 := s2 + a[i];{calcular o digito 11}d11 := 11 (s2 mod 11);se (d11 > 9) entao d11 := 0;{conferir se o CPF e valido}se (d10 = d[10]) e (d11 = d[11]) entaoescrever(CPF valido)senaoescrever(CPF invalido);fim do algoritmo 1. Qualificacao de nome de Objeto.Tecnica utilizada para referenciar o nome de uma coluna junto com o nome de uma tabela. Tambem conhecida como Fully Qualified Name (FQN), essa tecnica consistente em qualificar o nome do objeto desde o significado mais especifico ate o mais abrangente.No caso de banco de dados, o mais especifico e o nome da coluna, passando pelo nome da tabela, schema do banco, nome do banco e nome do servidor que e o mais abrangente.Servidor.Banco.Schema.Tabela.ColunaQualificando o nome da tabela e nome da coluna.select cliente.ClienteID, Cliente.Nome, Cliente.Fonefrom clientewhere Cliente.cidade = 'Sao Paulo'2. Juncao.O SELECT pode operar com duas ou mais tabelas na selecao e apresentacao de dados. Para montar essa selecao e necessario realizar a juncao entre as tabelas. Para que isso seja possivel, primeiro devemos identificar em cada tabela, um conjunto de coluna entre elas que mantem algum tipo de relacionamento. Seguindo os padroes de modelagem de dados e tambem os comandos para criar tabelas, utilizaremos as chaves primarias e estrangeiras das tabelas.Veja o exemplo abaixo:A tabela cliente tem como chave primaria a coluna ClienteID.select