Buscar

Documentação 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Docente: Wanessa Ramos 
 
 
 
Trabalhe como se você não precisasse do dinheiro, 
Ame como se você nunca tivesse sido magoado, 
e dance como se ninguém estivesse te observando." 
"O maior risco da vida é não fazer NADA." 
 
 
 
FATESG 
Sumário 
 
“Há uma felicidade tremenda em fazer os outros felizes, apesar dos nossos próprios problemas. A dor 
partilhada é metade da tristeza, mas a felicidade quando partilhada é dobrada. Se te queres sentir 
rico, conta todas as coisas que tens que o dinheiro não pode comprar.” 
 
1.1. CREATE DATABASE – criando um Banco de Dados (Base de Dados) .................................. 1
1.2. DROP DATABASE – excluindo um Banco de Dados (Base de Dados) ................................... 2
1.3. USE – alternando entre bancos de dados .................................................................................... 4
1.4. CREATE TABLE – criando de tabelas no Banco de Dados (Base de Dados) .......................... 4
1.5. DROP TABLE – excluindo tabelas ............................................................................................ 6
1.6. PRIMARY KEY - criando a chave primária (principal) ............................................................ 6
1.7. FOREIGN KEY – criando a chave estrangeira .......................................................................... 7
1.8. ALTER – inserindo / eliminando atributos da tabela ................................................................. 8
1.9. INSERT – incluindo um novo registro na tabela ..................................................................... 10
1.10. SELECT - pesquisando registros nas tabelas ........................................................................... 11
1.11. SELECT – selecionando somente alguns campos .................................................................... 12
1.12. WHERE – restringindo os dados de uma pesquisa .................................................................. 12
1.13. INNER JOIN – mesclando os registros de duas tabelas ........................................................... 13
1.14. DISTINCT – eliminando duplicidades ..................................................................................... 13
1.15. IN – listando valores pré definidos ........................................................................................... 14
1.16. BETWEEN – listando entre 2 valores ...................................................................................... 14
1.17. LIKE – buscando valores semelhantes ..................................................................................... 15
1.18. GROUP BY – agrupando dados de consulta ............................................................................ 15
1.19. COUNT – contando as linhas de uma tabela ............................................................................ 16
1.20. SUM – somando todos os valores de uma coluna .................................................................... 17
1.21. AVG – calculando o valor médio de uma coluna ..................................................................... 18
1.22. MAX – retornando o maior valor da coluna ............................................................................ 18
1.23. MIN – retornando o valor mínimo da coluna ........................................................................... 18
1.24. ORDER BY - ordenando os campos ........................................................................................ 18
1.25. Fazendo cálculos com conteúdo dos campos ........................................................................... 19
1.26. UPPER – convertendo para maiúsculas os caracteres .............................................................. 20
1.27. LOWER – convertendo para minúsculas os caracteres ............................................................ 20
1.28. Função concatenação ................................................................................................................ 20
1.29. UPDATE – alterando dados da tabela ...................................................................................... 21
1.30. DELETE – excluindo registros da tabela ................................................................................. 21
 
 
 Página: 1 
1 Comandos SQL 
 
A imaginação é mais importante do que o conhecimento. 
(Albert Einstein) 
 
1.1. CREATE DATABASE – criando um Banco de Dados (Base de Dados) 
 
Para criar uma base de dados (banco de dados), usaremos o comando abaixo: 
Sintaxe: 
create database nome_do_banco; 
Exemplo: 
create database estoque; 
 
 Crie uma base de dados chamada teste1
 
1 Toda vez que encontrar esse símbolo, significa que é um exercício para andamento de conteúdo. 
 
 
Veja que os bancos de dados acima foram criados dentro da pasta: 
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA 
Porém eu quero criar dentro da minha pasta de trabalho, então teremos que acrescentar os 
parâmetros: 
Sintaxe: 
CREATE DATABASE Archive 
ON 
PRIMARY 
 (NAME = Arch1, 
 FILENAME = 'caminho\archdat1.mdf', 
 SIZE = 100MB, 
 MAXSIZE = 200, 
 FILEGROWTH = 20), 
 ( NAME = Arch2, 
 FILENAME = 'caminho\archdat2.ndf', 
 SIZE = 100MB, 
 MAXSIZE = 200, 
 FILEGROWTH = 20), 
 ( NAME = Arch3, 
 FILENAME = 'caminho\archdat3.ndf', 
 SIZE = 100MB, 
 MAXSIZE = 200, 
 FILEGROWTH = 20) 
LOG ON 
 (NAME = Archlog1, 
 FILENAME = 'caminho\archlog1.ldf', 
 SIZE = 100MB, 
 MAXSIZE = 200, 
 FILEGROWTH = 20), 
 Página: 2 
 (NAME = Archlog2, 
 FILENAME = 'caminho\archlog2.ldf', 
 SIZE = 100MB, 
 MAXSIZE = 200, 
 FILEGROWTH = 20) ; 
Exemplo: 
CREATE DATABASE locadora 
ON 
PRIMARY 
 (NAME = locadora, 
 FILENAME = 'C:\Banco de dados – Tec Redes\locadora.mdf', 
 SIZE = 3072KB, 
 MAXSIZE = UNLIMITED, 
 FILEGROWTH = 1024KB) 
LOG ON 
 (NAME = locadora_log, 
 FILENAME = 'C:\Banco de dados – Tec Redes\locadora.ldf', 
 SIZE = 1024KB, 
 MAXSIZE = 2048GB, 
 FILEGROWTH = 10%); 
 
1.2. DROP DATABASE – excluindo um Banco de Dados (Base de Dados) 
 
Vamos excluir os três bancos de dados (estoque, teste e locadora): 
Primeiro vamos excluir o estoque: 
Sintaxe: 
drop database nome_do_banco; 
Exemplo: 
drop database estoque; 
 
 Exclua agora as bases de dados: teste 
Vamos criar a base de dados locadora novamente usando a ferramenta visual Microsoft SQL Server 
Management Studio. 
 
 
 Página: 3 
 
Onde está circulado acima, é para buscar pelo caminho do banco de dados: c:\Banco de dados – Tec 
Redes\Bancos\Locadora 
 
OK 
 
 
 Página: 4 
 
OK, pronto o banco de dados (base de dados) está criado. 
 
1.3. USE – alternando entre bancos de dados 
 
O comando USE é empregado quando você tem mais de um banco de dados em um servidor e 
precisa alternar entre eles. 
Sintaxe: 
use nome_do_banco; 
Exemplo: 
use locadora; 
 
1.4. CREATE TABLE – criando de tabelas no Banco de Dados (Base de Dados) 
 
O comando CREATE TABLE permite criar e definir a estrutura de uma tabela (arquivo) definido as 
colunas (campos) e as chaves primárias e estrangeiras existentes. Sua sintaxe é: 
Sintaxe: 
create table nome_da_tabela 
( 
 nome_coluna tipo_do_dado [not null] [primary key] [identity], 
 nome_coluna tipo_do_dado [not null], 
 [constraint nome_relacionamento foreign key (nome_coluna_chave_estrangeira) 
references nome_tabela_pai(nome_coluna_pai)] 
); 
 
Onde: 
a) nome_da_tabela: Representa o nome da tabela que será criada. 
 Página: 5 
b) nome_coluna: Representa o nome da coluna que será criada. A definição das colunas de uma 
tabela é feita relacionando-as uma após a outra. 
c) tipo_do_dado: Define o tipo e tamanho dos campos definidos para a tabela. Os tipos de dados 
mais comuns são: 
 Numéricos: 
• Smallint: Armazena valores numéricos, em dois bytes binários, compreendidos entre o 
intervalo -32768a +32767. 
• Integer: Armazena valores numéricos, em quatro bytes binários, compreendidos entre o 
intervalo -2147483648 a +2147483647 
• Decimal(n,m): Armazena valores numéricos com no máximo 15 dígitos. Nesta opção 
deve ser definida a quantidade de dígitos inteiros (n) e casas decimais (m) existentes no 
campo. 
 Alfanuméricos: 
• Varchar (n) - Definir um campo alfanumérico de até n caracteres, onde n deve ser menor 
ou igual a 254 caracteres. 
• Char (n) - Definir um campo alfanumérico de n caracteres, onde n deve ser menor ou 
igual a 254 caracteres. Seu comprimento é fixo. 
• Long Varchar - Definir um campo alfanuméricos de comprimento maior que 254 
caracteres. Seu comprimento é variável. 
 Date: 
Definir um campo que irá armazenar datas. 
 Time: 
Definir um campo que irá armazenamento de horário. 
d) not null: Exige o preenchimento do campo, ou seja, no momento da inclusão é obrigatório que 
possua um conteúdo. 
e) primary key: Defini para o banco de dados a coluna (campo) que será a chave primária da 
tabela. Caso ela tenha mais de um coluna como chave, elas deverão ser relacionadas entre os 
parênteses. 
f) identity: Permite que o campo seja auto-incrementável, incrementa de 1 em 1. 
g) constraint nome_relacionamento foreign key (nome_coluna_chave_estrangeira) references 
nome_tabela_pai (nome_coluna_pai): Defini para o banco de dados as colunas que são chaves 
estrangeiras, ou seja, os campos que são chaves primárias de outras tabelas. Na opção 
REFERENCES deve ser especificado a tabela na qual a coluna é a chave primária. 
Esta constraint é utilizada para implementar o conceito de chave estrangeira e serve para indicar que 
o conteúdo de um campo deve se referenciar a um outro campo que possua ou uma chave primária 
ou uma constraint UNIQUE. 
Quando o campo que está sendo referenciado residir na mesma tabela, não precisamos uitilizar a 
palavra-chave FOREIGN KEY, podendo somente utilizar REFERENCES. Esta constraint também 
pode ser desabilitada, para o caso de uma grande inserção de dados na tabela. 
 
 Página: 6 
Exemplo: 
create table clientes 
( 
 codigo int, 
 nome varchar(30), 
 cidade varchar(20), 
 sexo char(1) 
); 
 
 Crie agora a tabela abaixo 
Filmes 
codigo inteiro 
nome varchar (30) 
genero varchar (15) 
preco numeric(4,2) 
 
Porém, existem bancos de dados que não aceitam dois campos iguais, mesmo sendo de tabelas 
diferentes. Para isso vamos excluir as tabelas. 
 
1.5. DROP TABLE – excluindo tabelas 
 
O comando DROP TABLE deleta/exclui a estrutura e os dados existentes em uma tabela. Após a 
execução deste comando estarão deletados todos dados, estrutura e índices de acessos que estejam a 
ela associados. 
Sintaxe: 
drop table nome_da_tabela; 
Exemplo: 
drop table clientes; 
 
 Exclua agora a tabela: filme 
 
1.6. PRIMARY KEY - criando a chave primária (principal) 
 
O comando PRIMARY KEY cria a chave principal, fazendo com que um determinado campo não 
possa ser repetido. 
Sintaxe: 
nome_coluna tipo_de_dado [not null] primary key 
Exemplo: 
cli_codigo int not null primary key 
 
 
 Página: 7 
Então vamos redefinir as tabelas do nosso banco de dados locadora: 
clientes filmes 
inteiro não nulo + cli_codigo inteiro não nulo + fil_codigo 
cli_nome varchar(30) fil_nome varchar(30) 
cli_cidade varchar(20) fil_genero varchar(15) 
cli_sexo char(1) fil_preco numeric(4,2) 
cli_nascimento data 
Vamos gerar o script da criação da tabela cliente. Observando que o código do cliente agora será 
nossa chave primária, não poderá ser nula e será autoincrementada. 
create table clientes 
( 
 cli_codigo int not null primary key identity, 
 cli_nome varchar(30), 
 cli_cidade varchar(20), 
 cli_sexo char(1), 
 cli_nascimento datetime 
); 
 Crie agora a tabela: filmes 
 
1.7. FOREIGN KEY – criando a chave estrangeira 
 
O comando FOREIGN KEY efetua ligações entre as tabelas. Implementa integridade dos dados. 
Uma chave estrangeira (FK) é uma coluna ou uma combinação de colunas usadas para estabelecer e 
reforçar uma ligação entre os dados em duas tabelas. 
Sintaxe: 
constraint foreign key (nome_coluna_chave_estrangeira) references 
nome_tabela_pai (nome_coluna_pai) 
Antes do exemplo vamos criar mais uma tabela no nosso banco de dados locadora. 
locacao 
inteiro não nulo + loc_codigo 
loc_datalocacao data 
loc_datadevolucao data 
loc_codigocliente inteiro não nulo fk 
loc_codigofilme inteiro não nulo fk 
Exemplo: 
create table locacao 
( 
 loc_codigo int not null primary key identity, 
 loc_datalocacao datetime, 
 loc_datadevolucao datetime, 
 loc_codigocliente int not null, 
 loc_codigofilme int not null, 
 constraint fk_locacao_cliente foreign key (loc_codigocliente) references 
cliente, 
 constraint fk_locacao_filme foreign key (loc_codigofilme) references filme 
 Página: 8 
); 
 
1.8. ALTER – inserindo / eliminando atributos da tabela 
 
O comando ALTER permite inserir/eliminar atributos nas tabelas já existentes. 
Alterar a estrutura de uma tabela acrescentando, alterando, retirando e alterando nomes, formatos 
das colunas e a integridade referencial definidas em uma determinada tabela. 
Sintaxe: 
 ALTER TABLE nome_da_tabela 
 DROP nome_coluna 
 ADD nome_coluna tipo_do_dado [NOT NULL] 
 [NOT NULL WITH DEFAULT] 
 RENAME nome_coluna novo_nome_coluna 
 RENAME TABLE novo_nome_tabela 
 MODIFY nome_coluna tipo_do_dado [NULL] 
 [NOT NULL] 
 [NOT NULL WITH DEFAULT] 
 ADD PRIMARY KEY nome_coluna 
 DROP PRIMARY KEY nome_coluna 
 ADD FOREIGN KEY (nome_coluna_chave_estrangeira) REFERENCES 
 (nome_tabela_pai) ON DELETE [RESTRICT] 
 [CASCADE] 
 [SET NULL] 
 DROP FOREIGN KEY (nome_coluna_chave_estrangeira) REFERENCES 
 (nome_tabela_pai) 
onde: 
a) nome_da_tabela: Representa o nome da tabela que será atualizada. 
b) nome_coluna: Representa o nome da coluna que será criada. 
c) tipo_do_dado: Cláusula que define o tipo e tamanho dos campos definidos para a tabela. 
d) DROP nome_coluna: Realiza a retirada da coluna especificada na estrutura da tabela. 
e) ADD nome_coluna tipo_do_dado: Realiza a inclusão da coluna especificada na estrutura da 
tabela. Na coluna correspondente a este campo nos registros já existentes será preenchido o valor 
NULL (Nulo). As definições NOT NULL e NOT NULL WITH DEFAULT são semelhantes à do 
comando CREATE TABLE. 
f) RENAME nome_coluna novo_nome_coluna: Realiza a troca do nome da coluna especificada. 
g) RENAME TABLE novo_nome_tabela: Realiza a troca do nome da tabela especificada. 
h) MODIFY nome_coluna tipo_do_dado: Permite a alteração na característica da coluna 
especificada. 
Opções: 
Além das existentes na opção ADD (NOT NULL e NOT NULL WITH DEFAULT), temos a opção 
NULL que altera a característica do campo passando a permitir o preenchimento com o valor Nulo. 
 Página: 9 
i) ADD PRIMARY KEY nome_coluna: Esta opção é utilizada quando é acrescido um novo campo 
como chave primária da tabela. 
j) DROP PRIMARY KEY nome_coluna: Esta opção é utilizada quando é retirado um campo como 
chave primária da tabela. 
k) ADD FOREIGN KEY nome_coluna: Esta opção é utilizada quando é acrescido um novo campo 
sendo ele uma chave estrangeira. 
l) DROP FOREIGN KEY nome_coluna: Esta opção é utilizada quando é retirado uma chave 
estrangeira da estrutura da tabela. 
 
 ALTER TABLE para adicionar coluna: 
A sintaxe SQL para ALTER TABLE ADD é: 
alter table 'nome_da_tabela' add 'coluna1' 'tipo_de_dado'; 
Exemplo: 
Nosso objetivo é adicionar uma coluna chamada "Sexo" em uma tabela de funcionários. Para fazer 
isso, digite: 
alter table funcionarios add fun_sexo char (1); 
Vamos acrescentar agora o e-mail e o telefone: 
alter table funcionarios add fun_email varchar(30), fun_telefone char (9); 
Vamos acrescentar agora o e-mail na tabela de clientes: 
alter table clientes add cli_email varchar (30); 
 
 ALTER TABLE para modificar uma coluna: 
Às vezes precisamos mudar o tipo de dados de uma coluna. Para isso,usamos o comando ALTER 
TABLE Modificar Coluna. 
Sintaxe: 
alter table nome_da_tabela alter column coluna1 novo_tipo_de_dados; 
Exemplo: 
alter table funcionarios alter column fun_email varchar (60); 
 
 Coluna ALTER TABLE DROP COLUMN 
Vamos agora excluir colunas. 
Sintaxe: 
alter table nome_da_tabela drop column nome_coluna; 
Exemplos: 
alter table clientes drop column cli_email; 
alter table clientes drop column cli_observacoes; 
alter table funcionarios drop column fun_email, fun_telefone; 
 
 Para alterar o nome da coluna: 
Vamos agora alterar o nome da coluna. 
Sintaxe básica: 
 Página: 10 
exec sp_rename 'nome_banco.nome_coluna', 'novo_nome_coluna'; 
Exemplo: 
exec sp_rename 'locadora.cli_observacoes', 'cli_obs'; 
 
 Para alterar o nome da tabela: 
Vamos agora alterar o nome da tabela. 
Sintaxe básica: 
exec sp_rename 'nome_da_tabela', 'novo_nome_da_tabela'; 
Exemplo: 
exec sp_rename 'uf', 'estados'; 
 
1.9. INSERT – incluindo um novo registro na tabela 
 
O comando INSERT INTO inclui um novo registro em uma tabela do Banco de Dados. 
Sintaxe: 
insert into nome_da_tabela [(nome_coluna, nome_coluna)] values (relação 
correspondente dos valores a serem incluídos) 
Onde: 
a) nome-tabela: Representa o nome da tabela onde será incluída o registro. 
b) nome_coluna: Representa o nome da(s) coluna(s) que terão conteúdo no momento da operação 
de inclusão. 
Obs.: Este comando pode ser executado de duas maneiras: 
1) Quando todos os campos da tabela terão conteúdo: Neste caso não é necessário especificar as 
colunas, entretanto a relação dos valores a serem incluídos deverão obedecer a mesma seqüência da 
definição da tabela. 
Sintaxe: 
insert into nome_da_tabela values (relação correspondente dos valores a serem 
incluídos) 
2) Quando apenas parte dos campos da tabela terão conteúdo: Neste caso devem ser especificadas 
todas as colunas que terão conteúdo e os valores relacionados deverão obedecer esta sequência. 
Para os campos que não tem conteúdo especificado será preenchido o valor NULL. 
Exemplo: 
insert into clientes (cli_nome, cli_cidade, cli_sexo) values ('Geracina Gomes', 
'Goiânia', 'F', '01/06/1980'); 
ou simplesmente: 
insert into clientes values ('Geracina Gomes', 'Goiânia', 'F', '01/06/1980'); 
 Insira agora mais dados à tabela: cliente 
 
OBS.: Quando for inserir todos os valores pode-se omitir a primeira parte do código que contem os 
nomes dos campos. 
insert into filmes values ('Alvin e os Esquilos', 'Comédia', 19.90); 
 Página: 11 
insert into locacao values ('10/03/2011', '13/03/2011', 1, 1); 
 Insira agora mais dados às tabelas: filmes e locação 
 
1.10. SELECT - pesquisando registros nas tabelas 
 
A instrução SELECT é a mais poderosa da linguagem SQL. Ela permite selecionar um conjunto de 
registros em uma ou mais tabelas que atenda a uma determinada condição definida pelo comando. 
Sintaxe: 
select * from nome_da_tabela [as apelido] [,nome_da_tabela] 
 distinct 
 where condição 
 group by nome_coluna 
 having condição 
 order by nome_campo asc desc 
Onde: 
a) nome_da_tabela: Representa o nome da(s) tabela(s) que contem as colunas que serão 
selecionadas ou que serão utilizadas para a execução da consulta. 
b) Apelido: Os nomes que serão usados como títulos de colunas em vez dos nomes originais das 
colunas na tabela. 
c) condição: Representa a condição para a seleção dos registros. Este seleção poderá resultar em 
um ou vários registros. 
d) nome_coluna: Representa a(s) coluna(s) cujos resultados são grupados para atender à consulta. 
e) all ou *: Opção default. Mostra todos os valores obtidos na seleção. 
f) distinct: Opção que mostra os valores obtidos na seleção eliminando as duplicidades. 
g) where: Especifica o critério de seleção dos registros nas tabelas especificadas. 
h) group by: Especifica o(s) campo(s) que serão grupados para atender a consulta. 
i) having: Especifica uma condição para seleção de um grupo de dados. Esta opção só é utilizada 
combinada com a opção GROUP BY. 
j) order by: Esta opção quando utilizada apresenta o resultado da consulta ordenado de forma 
crescente ou decrescente pelos campos definidos. 
Comentários: 
Para executar esta operação, o programa principal de banco de dados procura a tabela ou tabelas 
especificadas, extrai as colunas escolhidas, seleciona as linhas que satisfazem o critério e classifica 
ou agrupa as linhas resultantes na ordem especificada. 
A instrução SELECT não muda os dados no banco de dados. SELECT é normalmente a primeira 
palavra em uma instrução SQL. A maior parte das instruções SQL são instruções SELECT. A 
sintaxe mínima da instrução SELECT é: 
select campos from nome_da_tabela; 
Você pode usar um asterisco (*) para selecionar todos os campos na tabela. O exemplo abaixo 
seleciona todos os campos na tabela clientes: 
Exemplo: 
select * from clientes; 
 Página: 12 
Vamos agora “renomear” as colunas usamos a palavra chave AS é usada para atribuir um alias 
(apelido) para a coluna ou uma tabela. 
Sintaxe básica: 
select nome_campo as Apelido from nome_da_tabela; 
Exemplos: 
select cli_nome as Nome from cliente; 
ou 
select cli_nome as 'Nome do Cliente' from cliente; 
 
 Pesquise agora as tabelas: filmes e locação (uma de cada vez) 
 
1.11. SELECT – selecionando somente alguns campos 
 
Já vimos a cláusula SELECT anteriormente, portanto vamos pesquisar somente por alguns campos 
na tabela de clientes 
select cli_nome, cli_sexo from clientes; 
select cli_nome from clientes; 
 
1.12. WHERE – restringindo os dados de uma pesquisa 
 
Com a restrição WHERE é possível restringir os dados que serão listados, ou seja, efetuar uma 
condição para que o mesmo apareça na listagem. 
Operadores lógicos: 
= igual a 
> maior que 
>= maior que ou igual a 
< menor que 
<= menor que ou igual a 
Frequentemente é necessário localizar registros em um banco de dados que satisfaçam certos 
critérios de seleção. O SQL utiliza a cláusula WHERE para especificar os critérios de seleção para a 
consulta. O formato mais simples para uma consulta com critérios é: 
SELECT * FROM nome_da_tabela WHERE condição; 
 
Sintaxe: 
select * from nome_da_tabela where condição; 
 
Exemplos: 
select * from clientes where cli_codigo >= 4; 
select * from clientes where cli_codigo >= 2 and cli_codigo <= 5; 
 Página: 13 
select * from clientes where cli_codigo >= 2 and cli_codigo <= 5 and cli_cidade 
= 'Anápolis'; 
select * from clientes where cli_codigo >= 2 and cli_codigo <= 5 and cli_cidade 
= 'Anápolis' and cli_sexo = 'F'; 
select * from clientes where cli_codigo >= 2 and cli_codigo <= 5 and cli_cidade 
= 'Goiânia' and cli_sexo = 'M' order by cli_nome; 
select * from clientes where cli_nome = 'Gonzalles Dias'; 
 Pesquise agora na tabela filmes todos que tenham como gênero Comédia em ordem descendente; 
na tabela de locação, todos os registros que tenha código do filme igual a 1 e código da locação 
entre 2 e 3 
 
1.13. INNER JOIN – mesclando os registros de duas tabelas 
 
A Cláusula INNER JOIN mescla os registros de duas tabelas testando a correspondência com 
valores em um campo que é comum para as duas tabelas. 
Sintaxe básica: 
select * from nome_da_tabela1 
 inner join nome_da_tabela2 on nome_da_tabela1.nome_campo = 
nome_da_tabela2.nome_campo; 
A parte ON da cláusula INNER JOIN especifica os campos de cada tabela que devem ser 
comparados para determinar quais registros serão selecionados. 
Exemplo: 
select l.loc_codigo as 'Código da locação', c.cli_nome as 'Nome do cliente', 
f.fil_nome as 'Nome do filme' 
from locacao l 
 inner join filme f on l.loc_codigofilme = f.fil_codigo 
 inner join cliente c on l.loc_codigocliente = c.cli_codigo; 
 
1.14. DISTINCT – eliminando duplicidades 
 
A cláusula DISTINCT elimina duplicidades, não mostrando portanto dados duplicados como 
resultado de uma pesquisa. A palavra-chave SELECT nos permite pegar todas as informações de 
uma coluna (ou colunas) em uma tabela. Isto, naturalmente, significa necessariamenteque haverá 
duplicidades, como por exemplo, dois clientes que moram na mesma cidade. E se nós só quisermos 
selecionar cada elemento distinto? Isso é fácil de realizar em SQL. Tudo o que precisamos fazer é 
adicionar a cláusula DISTINCT depois de SELECT. 
Sintaxe: 
select distinct 'nome_campo' from 'nome_da_tabela'; 
Exemplos: 
select distinct cli_cidade from clientes; 
select distinct cli_sexo from clientes; 
select distinct fil_genero from filme; 
 
 Página: 14 
1.15. IN – listando valores pré definidos 
 
Lista de valores pré definidos. Na linguagem SQL, a palavra-chave IN pode ser utilizada de duas 
formas e aqui introduz uma que está relacionada com a cláusula WHERE. Quando utilizada neste 
contexto, sabemos exatamente o valor dos valores devolvidos que pretendemos visualizar em pelo 
menos uma das colunas. 
Sintaxe: 
select 'nome_campo' from 'nome_da_tabela' where 'nome_campo' in ('valor1', 
'valor2', ...); 
O número de valores entre parênteses pode ser um ou mais, com cada valor separado por uma 
vírgula. Os valores podem ser numéricos ou caracteres. Se existir apenas um valor entre parênteses, 
o comando é equivalente a 
where 'nome_campo' = 'valor1' 
Exemplos: 
select * from clientes where cli_codigo in(2,4,6); 
É a mesma coisa que: 
select * from cliente where cli_codigo = 2 or cli_codigo = 4 or cli_codigo = 6; 
Nos dois exemplos acima irá listar todas as tuplas em que o código seja 2 ou 4 ou 6 */ 
 
select * from cliente where cli_codigo not in(2,4,6); 
É a mesma coisa que: 
select * from cliente where cli_codigo <> 2 and cli_codigo <> 4 and cli_codigo 
<> 6; 
Nos dois exemplos acima irá listar todas as tuplas em que o código seja diferente de 2 ou 4 ou 6. 
 
1.16. BETWEEN – listando entre 2 valores 
 
Lista entre 2 valores. Enquanto a palavra-chave IN ajuda as pessoas a limitar o critério de seleção a 
um ou mais valores discretos, a palavra-chave BETWEEN permite a seleção de um intervalo. 
Sintaxe: 
select 'nome_campo' from 'nome_da_tabela' where 'nome_campo' between 'valor1' 
and 'valor2'; 
Este comando irá selecionar todas as linhas cuja coluna tiver um valor entre o 'valor1' e o 'valor2'. 
 
Exemplos: 
select * from cliente where cli_codigo between 2 and 5; 
É a mesma coisa que: 
select * from cliente where cli_codigo >= 2 and cli_codigo <= 5; 
Nos dois exemplos acima, irá mostrar todas as tuplas em que o código seja maior ou igaul a 2 e 
menor ou igual a 5, ou seja, entre 2 e 5. 
 
select * from cliente where cli_codigo not between 2 and 5; 
 Página: 15 
É a mesma coisa que: 
select * from cliente where cli_codigo < 2 or cli_codigo > 5; 
Nas duas linhas acima, irá mostrar todas as tuplas em que o código seja menor que 2 e maior que 5. 
 
1.17. LIKE – buscando valores semelhantes 
 
O operador LIKE trabalha com padrão de caracteres. 
A condição da cláusula WHERE pode conter os operadores <, >, <=, >=, <> e LIKE. O operador 
LIKE é utilizado para coincidência de padrão, o que permite a busca de valores semelhantes ao 
digitado utilizando os caracteres curinga (* e ?). O asterisco indica qualquer número de caracteres 
em sequência na posição do asterisco dentro do padrão. Já a interrogação indica um único caracter 
na posição. Por exemplo, em uma tabela que temos os alunos Anderson, Andre e Manoel. 
SELECT * FROM Alunos WHERE nome LIKE “?n*”; 
No SELECT acima o retorno será Anderson e Andre, uma vez que buscamos apenas os valores 
iniciados por qualquer letra, tendo a segunda letra um “n” e finalizado por qualquer sequência 
SELECT * FROM Alunos WHERE nome LIKE “*n*”; 
Nesse SELECT procuramos qualquer aluno que tenha a letra “n” em seu nome, no caso Anderson , 
Andre e Manoel. 
Sintaxe: 
select * from nome_da_tabela where nome_campo like '[%]condição[%]'; 
 
Exemplos: 
A linha abaixo indica que é para mostrar todas tuplas (registros) em que os nomes de clientes 
comecem com a letra G: 
select * from clientes where cli_nome like 'G%'; 
 
A linha abaixo indica que é para mostrar todas tuplas (registros) em que os nomes de clientes 
terminem com a palavra Dias: 
select * from clientes where cli_nome like '%Dias'; 
 
A linha abaixo indica que é para mostrar todas tuplas (registros) em que os nomes de clientes tenha 
a palavra Carlos e no próximo exemplo ci em qualquer lugar: 
select * from clientes where cli_nome like '%Carlos%'; 
select * from clientes where cli_nome like '%ci%'; 
 
1.18. GROUP BY – agrupando dados de consulta 
 
A cláusula GROUP BY agrupar dados. Os dados resultantes de uma seleção podem ser agrupados 
de acordo com um critério específico. Este procedimento é realizado usando a cláusula GROUP 
BY. Apenas uma linha do grupo é apresentada. Como condição de agrupamento somente poderão 
aparecer itens do SELECT ou funções do grupo. Por exemplo, deseja-se saber o total de créditos 
 Página: 16 
cursados pelos alunos. Para resolver esse problema usamos um função SUM (explicada mais 
adiante) e a clausula GROUP BY. 
Sintaxe: 
select lista_de_seleção 
 from ... 
 [where ...] 
 group by referência_a_coluna_de_agrupamento [, 
referência_a_coluna_de_agrupamento]... 
Exemplo: 
SELECT cod_alu, SUM(Disciplinas.credito) AS [Total de Aula] 
FROM Disciplinas INNER JOIN Cursa 
ON Cursa.cod_dis= Disciplinas.codigo 
GROUP BY cod_alu; 
Nesse exemplo a quantidade de créditos está na tabela disciplinas, para cada aluno soma-se a 
quantidade de créditos das disciplinas que ele cursa. 
Exemplo: 
select cli_sexo as Sexo, 
count(cli_sexo) as Quantos 
from clientes group by cli_sexo; 
 
As funções de grupo operam em conjunto de linhas para fornecer um resultado por grupo. 
A tabela abaixo mostra as funções de grupo e sua aplicação: 
 COUNT - Retorna a quantidade de linhas 
 SUM - Soma os valores das colunas 
 AVG - Retorna o valor médio 
 MAX - Retorna o maior valor 
 MIN - Retorna o menor valor 
Uma função de grupo geralmente é usada com a cláusula GROUP BY, já que esta cláusula tem a 
finalidade de criar grupos de dados. 
 Pesquise agora na tabela filmes quantos gêneros Comédia existem e agrupe pelo genêro 
 
1.19. COUNT – contando as linhas de uma tabela 
 
O comando COUNT conta as linhas de uma tabela. 
Retorna a quantidade de registros existentes no campo especificado. Quando a opção * é utilizada o 
resultado é a quantidade de registros existentes. Quando é referenciado o nome de um campo 
retorna a quantidade de valores existentes na coluna. 
Sintaxe básica: 
select count(nome_campo) from nome_da_tabela; 
Exemplos: 
select count(cli_codigo) from clientes; 
 Página: 17 
Renomeando a coluna: 
select count(*) as quantidade_registros from clientes; 
Melhorando: 
select count(*) as 'Número de registros' from clientes; 
 
1.20. SUM – somando todos os valores de uma coluna 
 
O comando SUM calcula a somatória de todos os valores de uma coluna, ou seja, retorna a soma 
dos valores existentes no campo especificado. Por exemplo deseja-se saber quantos créditos (aulas 
por semana) o aluno Anderson (código igual a 1) cursa, para que se possa calcular a sua 
mensalidade. 
Sintaxe: 
select sum(nome_coluna) from nome_da_tabela; 
Exemplo: 
SELECT SUM(Disciplinas.credito) AS [Total de Aula]FROM 
Disciplinas INNER JOIN Cursa ON 
Cursa.cod_dis = Disciplinas.codigo 
WHERE Cursa.cod_alu=1; 
Outro exemplo, deseja-se calcular a mensalidade que os alunos pagam sabendo que o valor do 
crédito é R$7,00. 
SELECT cod_alu, SUM(Disciplinas.credito * 7.0) 
 AS [Total de Aula] 
FROM Disciplinas INNER JOIN Cursa 
ON Cursa.cod_dis= Disciplinas.codigo 
GROUP BY cod_alu; 
Sintaxe básica: 
select sum(nome_coluna) from nome_da_tabela; 
Exemplos: 
select sum(cli_salario) as valor_total from clientes; 
Renomeando a coluna: 
select sum(cli_salario) as valor_total from clientes where cli_sexo = 'F'; 
Melhorando: 
select sum(cli_salario) as 'Total salários femininos' from cliente where 
cli_sexo = 'F'; 
 
 Use a função SUM na tabela filmes para o campo fil_preco 
 
 Página: 18 
1.21. AVG – calculando ovalor médio de uma coluna 
 
O comando AVG calcula o valor médio de uma determinada coluna, ou seja, retorna a média dos 
valores existentes no campo especificado. Por exemplo, deseja-se saber quantas aulas em média um 
aluno assiste por dia. 
Sintaxe básica: 
select avg(nome_coluna) from nome_da_tabela; 
Exemplo: 
select avg(cli_salario) as media_salarial from clientes; 
Vamos melhorar o nome da coluna da média 
select avg(cli_salario) as 'Média Salarial' from cliente; 
 
 Use a função AVG na tabela filmes para o campo fil_preco 
 
1.22. MAX – retornando o maior valor da coluna 
 
Retorna o maior valor existente na coluna especificada, ou seja, retorna o valor máximo encontrado 
em uma coluna. 
Sintaxe básica: 
select max(nome_coluna) from nome_da_tabela; 
Exemplos: 
select max(cli_salario) as 'Salário mínimo' from clientes; 
select max(cli_salario) as salario_minimo from cliente where cli_codigo >=1 and 
cli_codigo <=3; 
 
1.23. MIN – retornando o valor mínimo da coluna 
 
A função sql MIN retorna o valor mínimo encontrado em uma coluna, ou seja, retorna o menor 
valor existente na coluna especificada. 
Sintaxe básica: 
select min(nome_coluna) from nome_da_tabela; 
Exemplos: 
select min(cli_salario) as 'Salário mínimo' from cliente; 
Vamos verificar dos códigos 1 e 3, qual é o menor: 
select min(cli_salario) as salario_minimo from cliente where cli_codigo >=1 and 
cli_codigo <=3; 
 
1.24. ORDER BY - ordenando os campos 
 
A cláusula ORDER BY muda a ordem de apresentação do resultado da pesquisa e possibilita 
colocar também em ordem ascendente ou descendente. 
 Página: 19 
ORDER BY é opcional. Entretanto, se você quiser exibir seus dados na ordem classificada, você 
deve utilizar ORDER BY. O padrão ordem de classificação é ascendente (A a Z, 0 a 9). Os dois 
exemplos abaixo classificam os nomes dos funcionários pelo sobrenome. 
SELECT Sobrenome, Nome FROM Funcionários ORDER BY Sobrenome; 
SELECT Sobrenome, Nome FROM Funcionários ORDER BY Sobrenome ASC; 
Para classificar em ordem descendente (Z a A, 9 a 0), adicione a palavra reservada DESC ao final 
de cada campo que você quiser classificar em ordem descendente. O exemplo abaixo seleciona 
salários e os classifica em ordem descendente. 
SELECT Sobrenome, Salario FROM Funcionários ORDER BY Salário DESC, Sobrenome; 
ORDER BY é normalmente o último item em uma instrução SQL. Você pode incluir campos 
adicionais na cláusula ORDER BY. Os registros são classificados primeiro pelo primeiro campo 
listado depois de ORDER BY. Os registros que tiverem valores iguais naquele campo são 
classificados pelo valor no segundo campo listado e assim por diante. 
Sintaxe da ordem ascendente: 
select * from nome_da_tabela order by nome_coluna asc; 
ou simplesmente: 
select * from nome_da_tabela order by nome_coluna; 
 
Sintaxe da ordem descendente: 
select * from nome_da_tabela order by nome_coluna desc; 
 
Exemplos: 
select * from clientes order by cli_nome asc; 
select * from clientes order by cli_nome; 
select * from clientes order by cli_cidade; 
select cli_codigo 'Código do cliente', cli_nome 'Nome do cliente', cli_cidade 
'Cidade do cliente', cli_sexo 'Sexo' from clientes order by cli_nome; 
 
 Pesquise agora na tabela filmes e ordene pelo gênero; na tabela de locação ordene pela data de 
devolução (tanto de forma ascendente quanto descendente) 
Também podemos ordenar por dois campos: 
Exemplos: 
select * from clientes order by cli_nome, cli_cidade; 
select * from clientes order by cli_cidade, cli_sexo; 
 
1.25. Fazendo cálculos com conteúdo dos campos 
 
Vamos supor que eu queira fazer cálculos com o código: 
select cli_codigo * 2 'Código do cliente', cli_nome 'Nome do cliente', 
cli_cidade 'Cidade do cliente', cli_sexo 'Sexo' from clientes; 
select cli_codigo + 1 'Código do cliente', cli_nome 'Nome do cliente', 
cli_cidade 'Cidade do cliente', cli_sexo 'Sexo' from cliente; 
 Página: 20 
1.26. UPPER – convertendo para maiúsculas os caracteres 
 
A função sql UPPER converte para maiúsculas todos os caracteres. 
Sintaxe básica: 
select upper(nome_coluna), nome_colunas from clientes; 
Exemplos: 
select cli_codigo,upper(cli_nome) as Nome, 
 cli_codbairro, cli_sexo,cli_email,cli_salario 
from clientes; 
 
Agora os e-mail's em maiúsculas também: 
select cli_codigo,upper(cli_nome) as Nome, 
 cli_codbairro, cli_sexo,upper(cli_email),cli_salario 
from clientes; 
 
Para não ficar sem nome a coluna vamos modificar: 
select cli_codigo,upper(cli_nome) as Nome, 
 cli_codbairro, cli_sexo,upper(cli_email) as 'E-mail',cli_salario 
from cliente; 
 
1.27. LOWER – convertendo para minúsculas os caracteres 
 
A função sql LOWER converte para minúsculas todos os caracteres. 
Sintaxe básica: 
select lower(nome_coluna), nome_colunas from clientes; 
Exemplos: 
Vamos voltar tudo para minúsculas: 
select cli_codigo,lower(cli_nome) as Nome, 
 cli_codbairro, cli_sexo,lower(cli_email) as 'E-mail',cli_salario 
from cliente; 
 
1.28. Função concatenação 
 
Esta função no SQL Server reúne em uma única sequência de caracteres, uma ou mais colunas 
(atributos de tabela). 
Sintaxe básica: 
select nome_coluna + nome_coluna from nome_da_tabela; 
Exemplos: 
select cli_nome + cli_sexo from clientes; 
 
Vamos dar uma incrementada: 
select cli_nome + cli_sexo as 'Nome e Sexo' from cliente; 
 
 
 Página: 21 
Vamos separar o nome do sexo: 
select cli_nome + ' - ' + cli_sexo as 'Nome e Sexo' from cliente; 
 
Vamos agora agrupar e concatenar: 
select 'Do sexo ' + cli_sexo +' tem ', count(cli_sexo) 
as 'Estatísticas sexuais' 
from clientes group by cli_sexo; 
 
select 'Do sexo ' + cli_sexo +' tem ' as Tipo, count(cli_sexo) 
as 'Estatísticas sexuais' 
from cliente group by cli_sexo; 
 
select cli_sexo as Sexo, 
sum(cli_salario) as soma, 
aVG(cli_salario) as media, 
count(cli_sexo) as 'quantidade de pessoas' 
from clientes 
group by cli_sexo; 
 
select cli_codbairro as Bairro, 
cli_sexo Sexo, 
sum(cli_salario) as soma, 
aVG(cli_salario) as media, 
count(cli_sexo) as 'quantidade de pessoas' 
from clientes 
group by cli_codbairro, cli_sexo; 
 
1.29. UPDATE – alterando dados da tabela 
 
O comando UPDATE permite alterar os dados da tabela. 
Sintaxe: 
update nome_da_tabela set nome_coluna = 'dado' [where] [condição]; 
Exemplos: 
update clientes set cli_sexo = 'F' where cli_codigo = 1 or cli_codigo = 4; 
ou: 
update clientes set cli_sexo = 'F' where cli_codigo in (1,4); 
 
update clientes set cli_cidade = 'Trindade', cli_nome = 'Gonzalles Dias Paxeco' 
where cli_codigo =3; 
OBS.: Caso o comando esteja da forma como abaixo mostrado, todos os registros serão alterados. 
CUIDADO!!!!! 
update clientes set cli_sexo = 'F'; 
 
1.30. DELETE – excluindo registros da tabela 
 
O comando DELETE permite excluir registros das tabelas. 
 
 Página: 22 
Sintaxe: 
delete from nome_da_tabela where condição; 
Exemplos: 
No exemplo abaixo, todos os registros são excluídos: 
delete from clientes; 
No exemplo abaixo, somente o registro de código 7 é excluído: 
delete from cliente where cli_codigo = 7; 
No exemplo abaixo todos os clientes que tiverem como sexo ‘F’ serão excluídos: 
delete from cliente where cli_sexo = 'F'; 
No exemplo abaixo todos os clientes que tiverem o nome da cidade começado com C serão 
excluídos: 
delete from clientes where cli_cidade like 'C%';

Continue navegando