Buscar

sql_1_NoRestriction

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 17 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 17 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 17 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

1
 
 
SELECT EM UMA TABELA 
 
SUMÁRIO 
 
• O comando Select 
• Expressões Aritméticas e Expressões em Comandos SELECT 
• Utilização de ALIAS, concatenação e literais 
• Gerando Restrições às Consultas 
• Operadores Lógicos e Relacionais 
• Ordenando Resultados de Queries 
 
 
A Linguaqem SQL como Padrão 
 
SQL quer dizer Structured Query Language e é o padrão mundial de acesso às bases de dados 
relacionais. 
 
Partes da SQL 
 
DDL Create, Alter, Drop, Rename, Truncate 
 
 Permitem a criação e definição de objetos como tabelas, views e outros objetos no 
banco de dados. 
 
DRL Select 
 
É o comando mais comum do SQL. Utilizado amplamente para recuperação dos dados 
de uma base. 
 
DML Insert, Delete, Update 
 
Comandos de manipulação dos dados. Usados nas aplicações que mantém a base de 
informações com inserções, atualizações e deleções de dados. 
 
DCL Grant, Revoke 
 
São utilizados para atribuir ou remover direitos de acesso a objetos do banco de dados e 
suas estruturas. 
 
Controle de Transações 
 
 Commit, Rollback, Savepoint 
 
Faz parte do padrão SQL a efetivação total, parcial ou o abandono de uma transação 
através da utilização destes comandos. 
 
2
 
 
O Comando Select 
 
É o comando SQL para recuperação dos dados de uma ou mais tabelas. Pode referenciar todas ou 
parte das colunas de uma ou mais tabelas, além de poder restringir as linhas que serão 
recuperadas. 
 
Como é orientado a conjuntos, um único comando pode retornar nenhuma ou várias linhas de uma 
combinação de tabelas desde que satisfaçam restrições impostas. 
 
Os componentes básicos do comando são: 
 
A Cláusula SELECT 
 
• Lista as colunas que serão recuperadas 
• Se utilizarmos o artifício do * (asterisco) na cláusula SELECT, estaremos definindo que todas as 
colunas serão recuperadas. 
 
A Cláusula FROM 
 
• Define a tabela que será recuperada 
 
 
Veja a sintaxe abaixo: 
 
SELECT nome-col1, nome_col2, nome coln 
FROM [schema].nome_da_ tabela; 
 
OU 
 
SELECT * 
FROM [schema].nome_da_tabela ; 
 
Onde: 
 
Palavra Chave Descrição 
Schema É o schema onde a tabela encontra-se armazenada. Por default 
é o próprio schema do usuário que está manipulando. 
nome_da_tabela Nome da tabela que contém os dados a serem recuperados. 
nome_coln Nome de uma coluna a ser recuperada. 
* (asterisco) Recupera todas as colunas da tabela. 
 
 
Exemplo selecionando todas as colunas 
 
SELECT * FROM C_REGIAO; 
 
No comando acima, estaremos selecionando todas as colunas e todas as linhas da tabela 
C_REGIAO. Teremos uma resposta, semelhante ao quadro abaixo: 
 
3
 
 
 ID NOME ID_REGIAO 
---------- --------------- ---------- 
 10 Financeiro 1 
 31 Vendas 1 
 32 Vendas 2 
 33 Vendas 3 
 34 Vendas 4 
 35 Vendas 5 
 41 Operações 1 
 42 Operações 2 
 43 Operações 3 
 44 Operações 4 
 45 Operações 5 
 50 Administrativo 1 
 
12 linhas selecionadas. 
 
• Observe que não há nenhuma ordem ou seleção de linhas ou colunas. 
 
 
Exemplo selecionando colunas específicas 
 
Podemos elaborar melhor nosso comando SELECT. 
 
Veja o exemplo abaixo (comando e resultado): 
 
SELECT ID, NOME FROM CDEPTO; 
 
 ID NOME 
---------- --------------- 
 10 Financeiro 
 31 Vendas 
 32 Vendas 
 33 Vendas 
 34 Vendas 
 35 Vendas 
 41 Operações 
 42 Operações 
 43 Operações 
 44 Operações 
 45 Operações 
 50 Administrativo 
 
12 linhas selecionadas...... 
 
 
Nota: 
• Neste segundo caso não é exibida a coluna ID_Região. No primeiro comando analisado, um 
asterisco substitui a lista de colunas desejadas, indicando a dados que todas as colunas devem 
ser informadas. 
 
4
 
Exemplo: 
 
Mostrar o conteúdo da tabela de Produtos 
 
 
Repare 
• Dados tipo CHAR alinhados à esquerda 
• Dados tipo NUMBER alinhados à direita 
 
• Mostrar o conteúdo de algumas colunas de uma tabela 
Mostrar identificação e nome de cada produto 
• SELECT id,nome 
FROM c_produto; 
 
 
 
 
 
5
 
Eliminando Valores Duplicados (Select Distinct) 
Ao darmos o comando Select * from c_depto podemos observar que que na tabela de Departamentos 
(C_depto) vários departamentos possuem o mesmo nome. Para eliminarmos esta duplicidade utilizamos a 
cláusula Distinct antes do nome da coluna. Observe o exemplo da figura abaixo: 
 
 
 
Observe que o nome do departamentos aparecem na ordem alfabética. 
 
Incrementando a Consulta 
 
Como efetuar consultas mais complexas e derivar dados a partir das informações contidas nas 
tabelas. 
 
Expressões Aritméticas 
 
Uma expressão aritmética pode conter os seguintes operadores: 
 
* multiplicação 
/ divisão 
+ adição 
- subtração 
 
Escrevendo Expressões em Comandos SELECT 
Posso ainda especificar não apenas uma coluna, mas um dado derivado de uma ou mais colunas. 
Por exemplo podemos necessitar saber o salário máximo anual dos empregados : 
 
 
 
6
 
UtilIzando um ALIAS 
 
Podemos ainda dar nomes alternativos às colunas resposta de um comando SELECT através de um 
ALIAS. 
 
- No exemplo acima, o nome da coluna que mostra o salário anual é SALARIO*12. 
 
- Neste último caso, tal nome pode não ser significativo. Podemos, então manter o conteúdo da 
coluna, trocando apenas o seu nome na resposta. 
 
 
- Devemos definir o ALIAS após a coluna especificada, com um espaço em branco. É importante 
sabermos que o ALIAS é sempre escrito com UPPER CASE e não pode conter espaços em branco. 
- Caso seja necessário definirmos o alias com maiúsculas e minúsculas ou ainda com espaços em 
branco, devemos colocá-lo entre (" ") aspas. 
Vejamos o exemplo abaixo: 
....... 
 
 
 
7
 
Concatenação 
 
Podemos concatenar o resultado de várias colunas entre si, e ainda de colunas com outros valores, 
como constantes, expressões aritméticas, etc. 
O operador de concatenação é || ; 
 
Exemplo 
 
Desejamos exibir o nome completo de cada empregado 
 
Observe a colocação de um espaço em branco entre o Prim_nome e Ult_nome para que os 
mesmos não ficassem “colados”. 
 
Literais 
 
Tudo que não for uma coluna ou um ALIAS de coluna existente na cláusula SELECT, podendo ser 
uma expressão, um caracter ou um número, é considerado um LITERAL. 
 
No exemplo acima o caracter ‘Branco’ colocados entre os nome é um literal. 
 
Gerando Restrições às Consultas 
 
Ao selecionar os dados para visualização ou outra necessidade podemos, além de ordená-los, 
restringir o meu espectro de visualização utilizando a cláusula WHERE. 
A cláusula Where estabelece uma condição que a linha deverá obdecer para que faça parte do 
conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como 
resposta verdadeiro. 
 
8
 
Veja o exemplo abaixo onde desejamos que retornem apenas a linhas dos empregados com ID 
> 5: 
 
 
 
 
Quando vamos trabalhar com Caracteres devemos ter alguns cuidados, o primeiro é que a palavra deverá vir 
entre aspas simples. 
De o comando abaixo: 
• Desejamos Mostrar primeiro nome e cargo do empregado com sobrenome NICE 
SELECT prim_nome,cargo 
FROM c_empr 
WHERE ult_nome = ' NICE'; 
 
 
 
 
 
9
 
Repare que não foi selecionada linha alguma porque as constantes tipo CHAR são "case sensitives" de 
forma que letras maiúsculas e minúsculas são diferentes para perceber a diferença de o comando:. 
 
SELECT prim_nome,cargo 
FROM c_empr 
WHERE ult_nome = ' Nice'; 
 
 
 
 
Ao trabalharmos com datas devemos coloca-las entre aspas simples, no formato dd/mmm/aa, onde dd é o dia 
em dois dígitos, mmm o mês abreviado para 3 letras e aa o ano em dois dígitos 
Exemplo 
Mostrar sobrenome e senha dos empregados admitidos em 4/MAR/90 
SELECT ult_nome,senha 
FROM c_empr 
WHERE dt_admissao= '4/MAR/90'; 
 
 
 
Operadores Lógicos e Relacionais 
 
Um conjunto de operadores são disponibilizados de forma que possamos montar a lógica dos 
nossos comandos SQL. Alguns destes operadores podem ser utilizados em quase todos os 
comandos SQL, não restringindo-se ao comando SELECT. 
 
 
10
 
Vejamos a lista abaixo: 
 
= IGUAL 
> MAIOR 
< MENOR 
>= MAIOR OU IGUAL , 
<= MENOR OU IGUAL 
<> DIFERENTE 
 
AND E LÓGICO 
OR OU LÓGICO 
NOT NÃO LÓGICO 
 
IN CONTIDO EM (LISTA) 
BETWEEN ENTRE VALORES 
EXISTS EXISTÊNCIA 
LIKE STRING SEMELHANTE 
IS NULL Testa valores nulos 
 
 
 
 
Utilizando Between 
 
O operador Between And define um intervalo de valores para serem testados, por exemplo se 
dejamos retornar o id , ult_nome e cargo dos empregados com salários entre 1100 e 1550 inclusive 
podemos dar o comando abaixo: 
 
Select id, ult_nome, cargo, salario 
From c_empr 
Where salario between 1100 and 1550; 
 
 
 
Para fazer a condição inversa basta utilizarmos Not Between 
 
11
 
Utilizando IN 
 
O operador IN permite definir uma lista de valores que serão utilizados em um comparação com o 
valor da coluna. 
Exemplo; 
Desejamos listar os departamentos das regiões 1, 3 ou 5 
 
O Comando seria 
Select * 
From c_depto 
Where id_regiao in ( 1, 3, 5); 
 
 
 
Para fazer a condição inversa basta utilizarmos Not IN 
 
Utilizando Like 
Nem sempre é possível saber o valor exato a ser pesquisado. Pode-se selecionar linhas que coincidam com um 
padrão de caracteres usando o operador Like. O operação de comparação com um padrão de caracteres é 
chamada de pesquisa curinga. 
Podem ser utilizados dois símbolos para forma a string de pesquisa: 
 
% - Representando qualquer seqüência de caractes ( inclusive nenhum); 
_ - Representando um única caracter. 
 
Por exemplo 
a - Se desejamos saber o id e o ult_nome dos empregados com o ult_nome começado com P podemos dar o 
seguinte comando: 
 Select ID, Ult_nome 
 From c_empr 
 Where Ult_nome Like’P%’; 
 
 
 
12
 
 
 
b - Se desejamos saber o id e o ult_nome dos empregados que o ult_nome não tenha a letra a podemos dar o 
seguinte comando: 
 Select ID, Ult_nome 
 From c_empr 
 Where Ult_nome Not Like’%a%’; 
 
 
 
 
c - Se desejamos saber o id e o ult_nome dos empregados cuja penúltima letra do ult_nome seja ‘e’ podemos 
dar o seguinte comando: 
 Select ID, Ult_nome 
 From c_empr 
 Where Ult_nome Like’%a_’; 
 
 
 
 
Utilizando Is Null 
O operador Is Null teste valores nulos.Um valor nulo é um valor que está indisponível, não foi atribuído, é 
desconhecido ou inaplicável. Portanto você não pode testar com ‘ = ‘ porque um valor nulo não pode ser igual 
ou diferente a qualquer valor 
 
 
13
 
Exemplo 
Se desejamos saber os empregados que não possuem comissão ( coluna perc_comissao om valor 
nulo) 
 
Select ID, utl_nome, cargo, perc_comissao 
From c_empr 
Where perc_comissao is null; 
 
 
 
Já para os que recebem 
 
 
 
Consultando Dados com várias condições 
 
Você pode especificar critérios complexos combinando várias condições de pesquisa. Os 
operadores AND e OR podem ser utilizados para formar expressões lógicas compostas. 
O operador AND retorna TRUE se ambas as condições forem verdadeiras, enquanto o operador OR 
retorna TRUE se uma das condições for verdadeira. 
Você pode ainda utilizar parentisis para estabelecer a ordem de execução dos testes 
 
14
 
Exemplo 
 
Se você deseja lista os empregados que ganham mais de 1000 e tem com cargo almoxarife o 
comando seria 
 
Select Id, Ult_nome, Cargo, Salario 
From c_empr 
Where Salario > 1000 AND cargo = ‘Almoxarife’; 
 
 
 
 
Já se quisesse uma das duas condições trocariamos o AND pelo OR e o comando seria 
 
Select Id, Ult_nome, Cargo, Salario 
From c_empr 
Where Salario > 1000 OR cargo = ‘Almoxarife’; 
 
 
 
 
15
 
Ordenando Resultados de Queries 
 
Apesar de já conseguirmos localizar e exibir os dados que nos interessam, ainda não consigo ordená-los ou limitá-los a 
determinada necessidade. 
 
A Cláusula ORDER BY 
 
O SQL nos permite ordenar qualquer resultado de uma consulta, através do comando ORDER BY. 
 
Quando o resultado de uma query é armazenado na memória para exibição, neste momento, o resultado pode ser 
definido conforme a nossa especificação de ordenação, seja por valor de uma coluna, crescente, decrescente, resultado 
de uma expressão, enfim, sempre podemos criar uma resultante conforme a nossa necessidade. 
 
Observe a partir de agora que, quando existente, a cláusula ORDER BY será sempre a última de um comando SQL. 
 
SELECT { * | nome da coluna [, nome da coluna ...]} 
FROM nome da tabela 
WHERE condição {AND | OR} condição 
ORDER BY nome da coluna [ ASC | DESC ] 
 [, nome da coluna [ ASC | DESC] ... ] 
 
onde 
 ASC ordena as linhas de forma ascendente; é a ordenação default. 
DESC ordena as linhas de forma descendente. 
 
Vejamos alguns exemplos: 
 
 
 
• Observe que agora os dados foram exibidos obedecendo a uma ordem solicitada. Neste exemplo a cláusula ORDER 
BY indica que as linhas selecionadas da tabela C_DEPTO devem ser ordenadas por ID_REGIAO e só então 
exibidas. 
• O padrão default de ordenação da cláusula ORDER BY é de forma crescente. 
 
 
16
 
Ordenando de Forma Decrescente 
 
Caso seja necessária a inversão da ordem default basta utilizarmos a opção DESC. 
 
Veja o exemplo abaixo, ordenando por ID_REGIAO de forma DESC: 
 
 
 
Ordenação Múltipla 
Podemos também ordenar por mais de uma coluna. 
 
 
 
No exemplo podemos observar que a saída da consulta foi ordenada inicialmente por cargo, de forma ascendente ( 
clausula ASC é default) , e a seguir dentro de cada cargo por salário de forma descendente ( observe o DESC) 
 
Utilizando o Posicionamento para Ordenar 
 
Para colocar dados em ordem posso utilizar em vez do nome a posição da coluna que desejamos utilizar na ordenação. 
Dessa forma o exemplo no exemplo anterior poderíamos dar o seguinte comando: 
 
select id, ult_nome, cargo, salario 
from c_empr 
order by 3, 4 desc; 
onde os números 3 e 4 referem-se a terceira coluna ( cargo) e a quarta ( salário), obtendo então o mesmo 
resultado de consulta anterior. 
 
17
 
 
Veja a figura 
 
 
	SUMÁRIO
	Ordenando Resultados de Queries
	A Linguaqem SQL como Padrão
	Partes da SQL
	DDL Create, Alter, Drop, Rename, Truncate
	DCL Grant, Revoke
	OU
	Exemplo selecionando todas as colunas
	Exemplo selecionando colunas específicas
	Exemplo:
	Eliminando Valores Duplicados (Select Distinct)
	Incrementando a Consulta
	Expressões Aritméticas
	Escrevendo Expressões em Comandos SELECT
	Concatenação
	Exemplo
	Literais
	Gerando Restrições às Consultas
	Operadores Lógicos e Relacionais
	Utilizando Between
	Utilizando IN
	Consultando Dados com várias condições
	Ordenando Resultados de Queries
	A Cláusula ORDER BY
	Ordenando de Forma Decrescente
	Ordenação Múltipla
	Utilizando o Posicionamento para Ordenar

Outros materiais