Buscar

Aula 2 SQL

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

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

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ê viu 3, do total de 81 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

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

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ê viu 6, do total de 81 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

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

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ê viu 9, do total de 81 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

Prévia do material em texto

SQL
Jean Turet
jeanturet@gmail.com
SQL
 Structured Query Language
◼ Linguagem de Consulta Estruturada
 Fundamentada no Modelo Relacional,
inclui comando para:
◼ Definição de dados
◼ Consulta 
◼ Atualização
Usos de SQL
 DDL – Linguagem de Definição de Dados
◼ Criar (create)
◼ Destruir (drop)
◼ Modificar (alter)
 DML – Linguagem de Manipulação de Dados
◼ Consultar (select)
◼ Inserir (insert)
◼ Remover (delete)
◼ Atualizar (update)
OpenRefine
 OpenRefine, formerly called Google
Refine and before that Freebase
Gridworks, is a standalone open source
desktop application for data cleanup and
transformation to other formats, the
activity known as data wrangling. It is
similar to spreadsheet applications (and
can work with spreadsheet file formats);
however, it behaves more like a database.
OpenRefine
 It operates on rows of data which have cells
under columns, which is very similar to relational
database tables. An OpenRefine project consists of
one table.
 The user can filter the rows to display
using facets that define filtering criteria (for example,
showing rows where a given column is not empty).
Unlike spreadsheets, most operations in OpenRefine
are done on all visible rows: transformation of all cells
in all rows under one column, creation of a new
column based on existing column data, etc.
 All actions that were done on a dataset are stored in a
project and can be replayed on another dataset.
Possible uses of software
 Cleaning messy data: for example if working with a
text file with some semi-structured data, it can be
edited using transformations, facets and clustering to
make the data cleanly structured.
 Transformation of data: converting values to other
formats, normalizing and denormalizing.
 Parsing data from web sites: OpenRefine has a URL
fetch feature and jsoup HTML parser and DOM engine.
 Adding data to dataset by fetching it from
webservices (i.e. returning json). For example, can be
used for geocoding addresses to geographic
coordinates.
 Aligning to Wikidata (formerly Freebase): this
involves reconciliation — mapping string values in
cells to entities in Wikidata.
MySql WorkBench
 MySQL Workbench is a unified visual tool
for database architects, developers, and
DBAs. MySQL Workbench provides data
modeling, SQL development, and
comprehensive administration tools for
server configuration, user administration,
backup, and much more. MySQL
Workbench is available on Windows, Linux
and Mac OS X.
MySql WorkBench
 Design
 MySQL Workbench enables a DBA, 
developer, or data architect to visually 
design, model, generate, and manage 
databases. It includes everything a data 
modeler needs for creating complex ER 
models, forward and reverse engineering, 
and also delivers key features for 
performing difficult change management 
and documentation tasks that normally 
require much time and effort.
MySql WorkBench
 Develop
 MySQL Workbench delivers visual tools for 
creating, executing, and optimizing SQL 
queries. The SQL Editor provides color 
syntax highlighting, auto-complete, reuse 
of SQL snippets, and execution history of 
SQL. The Database Connections Panel 
enables developers to easily manage 
standard database connections, including 
MySQL Fabric. The Object Browser 
provides instant access to database 
schema and objects.
MySql WorkBench
 Database Migration
 MySQL Workbench now provides a 
complete, easy to use solution for 
migrating Microsoft SQL Server, Microsoft 
Access, Sybase ASE, PostreSQL, and other 
RDBMS tables, objects and data to 
MySQL. Developers and DBAs can quickly 
and easily convert existing applications to 
run on MySQL both on Windows and other 
platforms. Migration also supports 
migrating from earlier versions of MySQL 
to the latest releases.
Comandos Sql
SQL - Criação de Tabelas
 Comando Create table (sintaxe)
CREATE TABLE <tabela>
(<descrição das colunas>);
(<descrição das chaves>);
SQL - Criação de Tabelas
 Comando Create table
❖ Ao se criar uma estrutura de uma tabela é
necessário que o usuário forneça, para cada
coluna, as seguintes informações:
❖ TIPO DE DADO
❖ EX: char, varchar2, number, date, etc.
❖ TAMANHO
❖ RESTRIÇÕES
❖ EX: primary key, foreign key, unique, not null,
check.
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE cliente 
(
cod_cliente number(5),
nome varchar2(70) NOT NULL,
sexo char(1),
cidade varchar2(70),
estado char(2),
telefone number(9),
CONSTRAINT PK_CLIENTE
PRIMARY KEY (cod_cliente)
);
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE vendedor
(
cod_vendedor number(5),
nome varchar2(70) NOT NULL,
salario_fixo number(8),
faixa_comissao char(1),
CONSTRAINT PK_VENDEDOR
PRIMARY KEY (cod_vendedor)
);
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE telefones_vendedor
(
cod_vendedor number(5),
telefone number(7),
CONSTRAINT PK_FONES_VENDEDOR
PRIMARY KEY (cod_vendedor, telefone),
CONSTRAINT FK_FONES_VENDEDOR
FOREIGN KEY (cod_vendedor) 
REFERENCES VENDEDOR(cod_vendedor)
);
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE produto
(
cod_produto number(5),
descricao varchar2(100),
unidade varchar2(4),
valor_unitario number(8),
CONSTRAINT PK_PRODUTO
PRIMARY KEY (cod_produto)
);
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE pedido (
num_pedido number(5),
prazo_entrega number(5),
cod_cliente number(5),
cod_vendedor number(5),
CONSTRAINT PK_PEDIDO PRIMARY KEY (num_pedido),
CONSTRAINT FK_CLIENTE_PEDIDO
FOREIGN KEY (cod_cliente) 
REFERENCES CLIENTE(cod_cliente),
CONSTRAINT FK_VENDEDOR_PEDIDO
FOREIGN KEY (cod_vendedor) 
REFERENCES VENDEDOR(cod_vendedor) );
SQL - Criação de Tabelas
 Comando Create table (mais exemplos)
CREATE TABLE item_do_pedido (
num_pedido number(5),
cod_produto number(5),
quantidade number(6),
CONSTRAINT PK_ITENS_DO_PEDIDO
PRIMARY KEY (num_pedido, cod_produto),
CONSTRAINT FK_PEDIDO_ITENS_DO_PEDIDO
FOREIGN KEY (num_pedido) 
REFERENCES PEDIDO(num_pedido), 
CONSTRAINT FK_PRODUTO_ITENS_DO_PEDIDO
FOREIGN KEY (cod_produto) 
REFERENCES PRODUTO(cod_produto) );
SQL – Exclusão de Tabelas
 Comando Drop table (sintaxe)
DROP TABLE <tabela>;
SQL – Exclusão de Tabelas
 Comando Drop table (exemplos)
DROP TABLE item_do_pedido;
SQL – Alteração de Tabelas
 Comando Alter table (sintaxe)
ALTER TABLE <tabela> <ADD | MODIFY | DROP>
(<descrição das colunas>);
SQL – Alteração de Tabelas
 Comando Alter table (exemplos)
◼ Para adicionar a coluna data_nascimento na tabela
cliente
ALTER TABLE cliente ADD (data_nascimento date);
◼ Para excluir a coluna data_nascimento na tabela cliente
ALTER TABLE cliente DROP (data_nascimento);
◼ Para modificar o tamanho da coluna telefone na tabela
telefones_vendedor
ALTER TABLE telefones_vendedor MODIFY (telefone
number(9));
SQL – Inserção de Dados
 Comando Insert (sintaxe)
INSERT INTO <nome da tabela>
(<nomes das colunas>) VALUES (<valores>);
SQL – Inserção de Dados
 Comando Insert (exemplos)
INSERT INTO cliente (cod_cliente, nome, sexo, cidade, estado, telefone)
VALUES (17,'Esdras','m','Recife','PE',34558787);
INSERT INTO cliente VALUES (19,‘Ivan','m',‘Caruaru','PE',3333333);
INSERT INTO vendedor (cod_vendedor, nome, salario_fixo,
faixa_comissao) VALUES (29,’Almir’,350.0,’C’);
INSERT INTO pedido (num_pedido, prazo_entrega, cod_cliente,
cod_vendedor) VALUES (11,20,17,29);
SQL – Inserção de Dados
 ComandoInsert (exemplos)
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (1,'sal','kg‘,0.85);
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (13,'ouro','g‘,6.18);
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (87,'cano','m‘,1.97);
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (77,'papel','m‘,1.05);
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (30,'açúcar','sac‘,0.99);
INSERT INTO produto (cod_produto, descricao, unidade, valor_unitario)
VALUES (45,’madeira’,’m’,0.25);
SQL – Inserção de Dados
 Comando Insert (exemplos)
INSERT INTO item_do_pedido (num_pedido, cod_produto, quantidade)
VALUES (11,87,10);
INSERT INTO item_do_pedido (num_pedido, cod_produto, quantidade)
VALUES (11,45,30);
SQL – Atualização de Dados
 Comando Update (sintaxe)
UPDATE <nome da tabela> 
SET <nome da coluna> = (<valor>)
WHERE <condicao>; 
SQL – Atualização de Dados
 Comando Update (exemplos)
UPDATE cliente
SET nome = 'Esdras Ricardo’
WHERE cod_cliente = 17;
UPDATE vendedor
SET salario_fixo = 400 
WHERE cod_vendedor = 29;
UPDATE produto
SET unidade = 'kg’
WHERE cod_produto = 13;
SQL – Exclusão de Dados
 Comando Delete (sintaxe)
DELETE FROM <nome da tabela> 
WHERE <condicao>; 
SQL – Atualização de Dados
 Comando Delete (exemplos)
◼ Excluindo o comprador “Josias” da tabela Cliente
INSERT INTO cliente VALUES 
(35,‘Josias','m',‘Caruaru','PE',666666666);
DELETE FROM cliente
WHERE cod_cliente = 35;
◼ Excluindo o item “fósforo” da tabela Produto
INSERT INTO produto VALUES (99,’fosforo’,’caix’,1);
DELETE FROM produto
WHERE cod_produto = 99;
Comando Select
Recuperar dados de uma tabela 
 Comando Select (conceitos)
◼ Os dados armazenados em uma tabela podem
ser recuperados (visualizados) de várias
maneiras.
◼ O comando Select permite a seleção e a
manipulação, para visualização das
informações armazenadas no Banco de Dados.
Recuperar dados de uma tabela
 Comando Select (conceitos)
◼ O Comando Select permite selecionar:
Colunas específicas em uma tabela
Todas as colunas
Colunas com apelidos (alias)
Expressões aritméticas
Apenas algumas linhas das tabelas
 Linhas de forma ordenada
SQL – Extração de Dados (1/6)
Selecionando Colunas Específicas
De uma Tabela
SQL – Extração de Dados (1/6) 
 Comando Select (sintaxe)
◼ Seleção de colunas específicas em uma tabela
SELECT <nome(s) da(s) colunas> 
FROM <tabela>;
SQL – Extração de Dados (1/6) 
 Comando Select (exemplos)
◼ Seleção de colunas específicas em uma tabela
 Listar todos os produtos com as respectivas
descrições, unidades e valores unitários.
SELECT descricao, unidade, valor_unitario
FROM produto;
 Listar da tabela CLIENTE, o nome do cliente, o sexo e
a cidade onde mora.
SELECT nome, sexo, cidade
FROM cliente;
SQL – Extração de Dados (2/6)
Selecionando Todas as colunas
De uma Tabela
SQL – Extração de Dados (2/6) 
 Comando Select (sintaxe)
◼ Seleção de todas as colunas de uma tabela
SELECT * FROM <tabela>;
SQL – Extração de Dados (2/6) 
 Comando Select (Exemplos)
◼ Seleção de todas as colunas de uma tabela
 Listar todo o conteúdo de vendedor.
SELECT * FROM vendedor;
 Listar da tabela CLIENTE, o código do cliente, o
nome, o sexo, a cidade, o estado e o telefone.
SELECT * FROM cliente;
SQL – Extração de Dados (3/6)
Colunas com apelidos (alias)
SQL – Extração de Dados (3/6) 
 Comando Select (contextualização)
◼ Seleção de colunas com apelidos
 Por default, o heading (nome da coluna criado no bd)
apresentado na saída do SELECT é o nome da coluna na
tabela.
 SQL permite que se apresente a saída de um SELECT com
cabeçalhos de colunas ao nosso gosto.
SQL – Extração de Dados (3/6) 
 Comando Select (sintaxe)
◼ Seleção de colunas com apelidos
SELECT <cabeçalho da coluna>
AS <novo nome do cabeçalho da coluna>
FROM <tabela>;
SQL – Extração de Dados (3/6) 
 Comando Select (Exemplos)
◼ Seleção de colunas com apelidos
 Listar da tabela CLIENTE, a cidade e o sexo do cliente
como cidade_cliente e sexo_cliente.
SELECT cidade as cidade_cliente, sexo as sexo_cliente FROM cliente;
SQL – Extração de Dados (4/6)
Manipulando dados numéricos: 
Operadores Aritméticos
SQL – Extração de Dados (4/6) 
 Comando Select (contextualização)
◼ Manipulando dados numéricos: Operadores Aritméticos
 Operadores aritméticos podem ser usados sobre qualquer
coluna numérica.
 Operadores aritméticos são:
Símbolo Operação
+ Adição
- Subtração
/ Divisão
* Multiplicação
% Módulo
SQL – Extração de Dados (4/6) 
 Comando Select (Exemplos)
◼ Manipulando dados numéricos: Operadores Aritméticos
 Listar da tabela VENDEDOR, o nome do vendedor, o
salário fixo e o triplo do mesmo.
SELECT nome, salario_fixo, (salario_fixo * 3) FROM vendedor;
SELECT nome, salario_fixo, (salario_fixo * 3) as salario_triplo
FROM vendedor;
 Listar da tabela VENDEDOR, o nome do vendedor, o
salário fixo e o dobro de seu salário acrescido de 350.
SELECT nome, salario_fixo, ((salario_fixo * 2) + (350)) as dobro_salario_mais 
FROM vendedor;
SQL – Extração de Dados (5/6)
Selecionando apenas algumas 
Linhas da Tabela
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
SELECT <nome(s) da(s) colunas> 
FROM <tabela>
WHERE <condições de seleção>
 Operadores
a) De Comparação
b) Lógicos
c) BETWEEN e NOT BETWEEN
d) LIKE e NOT LIKE
e) IN e NOT IN
f) IS NULL e IS NOT NULL
SELECT <nome(s) da(s) colunas> 
FROM <tabela>
WHERE <nome da coluna> <operador> <valor>
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
Operador Significado
= Igual
!= ou <> Diferente
< Menor que
> Maior que
>= Maior ou igual que
<= Menor ou igual que
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Listar o número do pedido, o código do produto e a
quantidade de itens do pedido com a quantidade igual a
30.
SELECT num_pedido, cod_produto, quantidade
FROM item_do_pedido
WHERE quantidade = 30;
 Quais os clientes que moram em Recife?
SELECT nome
FROM cliente
WHERE cidade = ‘Recife’;
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Quais os clientes que não moram em Recife?
SELECT nome
FROM cliente
WHERE cidade <> ‘Recife’;
 Quais os produtos com valor unitário menor ou igual a R$
2.00?
SELECT descricao
FROM produto
WHERE valor_unitario <= 2;
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
Operador Significado
AND “E” lógico
OR “Ou” lógico
NOT Negação
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 Listar os produtos que tenham unidade igual a ‘m’ e valor
unitário maior que R$ 1,00 da tabela PRODUTO.
SELECT descricao FROM produto
WHERE unidade = ‘m’ AND valor_unitario > 1;
 Liste os salários, as faixas de comissão e os nomes dos
vendedores que pertencem a faixa de comissão ‘A’ ou que
ganham um salário fixo acima de R$ 300,00.SELECT nome, salario_fixo, faixa_comissao FROM vendedor
WHERE faixa_comissao = ‘A’ OR salario_fixo > 300;
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 Mostrar todos os pedidos que não tenham prazo de entrega
igual a 15 dias.
SELECT num_pedido
FROM pedido
WHERE NOT (prazo_entrega = 15);
 Mostrar todos os pedidos que não tenham prazo de entrega
igual a 15 dias (sem utilizar o NOT).
SELECT num_pedido 
FROM pedido
WHERE (prazo_entrega <> 15);
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 Este operador propicia a pesquisa por uma
determinada coluna e selecionando as linhas cujo
valor da coluna esteja dentro de uma faixa
determinada de valores, sem a necessidade dos
operadores >=, <= e AND.
 Tanto o <valor1> quanto o <valor2> têm de ser do
mesmo tipo de dado da coluna.
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
WHERE <nome da coluna>
BETWEEN <valor1> AND <valor2>;
WHERE <nome da coluna>
NOT BETWEEN <valor1> AND <valor2>;
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 Listar o código e a descrição dos produtos que tenham o
valor unitário na faixa de R$ 0,97 e R$ 2,00.
SELECT cod_produto, descricao FROM produto
WHERE valor_unitario BETWEEN 0.97 AND 2;
 Listar o código e a descrição dos produtos que não tenham
o valor unitário na faixa de R$ 1,00 e R$ 2,00.
SELECT cod_produto, descricao FROM produto
WHERE valor_unitario NOT BETWEEN 1 AND 2;
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 Os operadores LIKE e NOT LIKE só trabalham sobre colunas
que sejam do tipo CHAR.
 Eles têm praticamente o mesmo funcionamento que os
operadores = e <>, porém o poder desses operadores está
na utilização do símbolo (%) que pode fazer o papel de
“curinga”.
% - substitui um ou mais caracteres
_ - substitui um caractere qualquer
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
WHERE <nome da coluna> LIKE <valor>
WHERE <nome da coluna> NOT LIKE <valor>
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 <nome da coluna> LIKE ‘LÁPIS %’ pode enxergar os
seguintes registros:
o ‘LÁPIS PRETO’
o ‘LÁPIS BORRACHA’
o ‘LÁPIS CERA’
 Ou seja, todos os registros que contenham ‘LÁPIS’ seguido
de qualquer palavra ou conjunto de caracteres.
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 <nome da coluna> LIKE ‘%ÃO’ pode enxergar os seguintes
registros:
o ‘JOÃO’
o ‘SÃO JOÃO’
o ‘ALÇAPÃO’
o ‘CONDIÇÃO’
 Ou seja, pode enxergar qualquer nome que termine com
“ÃO”.
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 <nome da coluna> LIKE ‘%INHO%’ pode enxergar os
seguintes registros:
o ‘LEITE NINHO’
o ‘DANONINHO’
o ‘MINHOTO’
 Ou seja, pode enxergar qualquer nome que possua o termo
“INHO” em qualquer parte da palavra.
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 Listar todos os produtos que tenham o seu nome
começando por “p”.
SELECT descricao FROM produto WHERE descricao LIKE ‘p%’;
 Listar todos os produtos que tenham o seu nome
terminando com “o”.
SELECT descricao FROM produto WHERE descricao LIKE ‘%o’;
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 Listar os vendedores, cujos nomes não começam por “Jo”.
SELECT nome_vendedor FROM vendedor
WHERE nome_vendedor NOT LIKE ‘Jo%’;
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 EXERCÍCIO:
▪ 1)Cadastre quatro novos clientes na sua base de
dados: Ivan, Ivanildo, Ivanilda e Ivana.
▪ 2) Pergunta-se: as consultas abaixo retornam o mesmo
resultado?
SELECT * FROM cliente WHERE nome LIKE ‘Iv_n’;
SELECT * FROM cliente WHERE nome LIKE ‘Iv_n%’;
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
 Esses operadores pesquisam registros que estão ou
não contidos no conjunto de valores fornecido.
 Estes operadores minimizam o uso dos operadores =,
<>, AND e OR.
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
WHERE <nome da coluna> IN <valor>
WHERE <nome da coluna> NOT IN <valor>
SQL – Extração de Dados (5/6) 
 Comando Select (exemplos)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
 Listar os vendedores que são da faixa de comissão A e B.
SELECT nome FROM vendedor
WHERE faixa_comissao IN (‘A’, ’B’);
 Listar os vendedores que não são da faixa de comissão B e C.
SELECT nome FROM vendedor
WHERE faixa_comissao NOT IN (‘B’, ’C’);
SQL – Extração de Dados (5/6) 
 Comando Select (contextualização)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
 IS NULL e IS NOT NULL
 Esses operadores pesquisam colunas que são nulas,
ou não.
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
 IS NULL e IS NOT NULL
WHERE <nome da coluna> IS NULL <valor>
WHERE <nome da coluna> IS NOT NULL <valor>
SQL – Extração de Dados (5/6) 
 Comando Select (sintaxe)
◼ Selecionando apenas algumas Linhas da Tabela
 Operadores de Comparação
 Operadores Lógicos
 BETWEEN e NOT BETWEEN
 LIKE e NOT LIKE
 IN e NOT IN
 IS NULL e IS NOT NULL
 Mostrar os nomes dos clientes que não tenham estado.
SELECT nome
FROM cliente
WHERE estado IS NULL;
SQL – Extração de Dados (6/6)
Ordenando os Dados Selecionados
SQL – Extração de Dados (6/6) 
 Comando Select (sintaxe)◼ Ordenando os Dados Selecionados
SELECT <nome da(s) coluna(s)>
FROM <tabela>
WHERE <condição>
ORDER BY <nome da coluna> <ASC | DESC>;
SQL – Extração de Dados (6/6) 
 Comando Select (contextualização)
◼ Ordenando os Dados Selecionados
◼ As palavras ASC e DESC significam, respectivamente,
ascendente e descendente.
◼ A forma ascendente de ordenação é assumida como
padrão.
SQL – Extração de Dados (6/6) 
 Comando Select (exemplos)
◼ Ordenando os Dados Selecionados
 Mostrar em ordem alfabética a lista de vendedores e seus
respectivos salários fixos.
SELECT nome, salario_fixo
FROM vendedor
ORDER BY nome ASC;
 Listar os nomes, cidades e estados de todos os clientes,
ordenados por cidade de forma descendente.
SELECT nome, cidade, estado
FROM cliente
ORDER BY cidade DESC;
SQL – Extração de Dados (6/6) 
 Comando Select (exemplos)
◼ Ordenando os Dados Selecionados
 Mostrar a descrição e o valor unitário de todos os produtos
que tenham a unidade ‘m’, em ordem de valor unitário
ascendente.
SELECT descricao, valor_unitario
FROM produto
WHERE unidade = ‘m’
ORDER BY valor_unitario ASC;
SQL – Extração de Dados (6/6) 
 Comando Select (exemplos)
◼ Ordenando os Dados Selecionados
 Listar os nomes, cidades e estados de todos os clientes,
ordenados por estado e cidade de forma descendente.
SELECT nome as nome_cliente, cidade, estado
FROM cliente
ORDER BY estado DESC, cidade DESC;
Neste caso, ele ordena primeiro por estado, depois por cidade ☺
Cenas dos próximos capítulos...
 Depois dos “comerciais”:
◼ Agrupamento [GROUP BY];
◼ Funções de agrupamento [Count, sum, min, max, avg]
 E num futuro não muito distante: 
◼ Junções [Manipular dados de múltiplas tabelas]
◼ Sub-query [Consultas encadeadas]

Outros materiais