• Nenhum resultado encontrado

Aula avaliativa

N/A
N/A
Protected

Academic year: 2022

Share "Aula avaliativa"

Copied!
20
0
0

Texto

(1)

Aula avaliativa

Disciplina: Banco de Dados Tema: Linguagem SQL

-SELECT

PROFESSOR: DANILO MONTEIRO

EMAIL: [email protected]

(2)

O que foi visto na aula passada ?

 Instruções DDL (Data Definition Language)

Create

CREATE TABLE enfeites ( id INT, nome TEXT, cor VARCHAR(20), tamanho INT, valor FLOAT, PRIMARY KEY (id)) ;

Alter

ALTER TABLE enfeites ADD estado TEXT;

Drop

DROP TABLE enfeites;

Rename

ALTER TABLE nomeErrado RENAME TO nomeCorreto;

MYSQL -> RENAME TABLE nomeErrado TO nomeCorreto;

Truncate

TRUCATE TABLE enfeites;

(3)

Not-Null

CREATE TABLE enfeites ( id INT, nome TEXT, cor VARCHAR(20), tamanho INT NOT NULL, valor FLOAT, PRIMARY KEY (id) ) ; ALTER TABLE enfeites ALTER COLUMN tamanho SET NOT NULL;

ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL;

UNIQUE

CREATE TABLE enfeites ( id INT, numero INT UNIQUE, cor VARCHAR(20), tamanho INT NOT NULL, valor FLOAT, PRIMARY KEY (id) ) ; ALTER TABLE enfeites ADD CONSTRAINT tamanho UNIQUE;

ALTER TABLE enfeites DROP CONSTRAINT tamanho;

PRIMARY KEY (not null e UNIQUE)

CREATE TABLE enfeites ( id INT, numero INT UNIQUE, cor VARCHAR(20), tamanho INT NOT NULL, valor FLOAT, PRIMARY KEY (id) ) ;

SERIAL (auto incrementing four-byte integer)

CREATE TABLE enfeites ( id SERIAL, numero INT UNIQUE, cor VARCHAR(20), tamanho INT NOT NULL, valor FLOAT, PRIMARY KEY (id) ) ; Mysql (..., id INT AUTO_INCREMENT, …)

(4)

Roteiro

 Comando SELECT

 Para que serve?

 Estrutura básica

 Instrução WHERE

 Operadores

 Cláusula - ORDERBY

(5)

Select – Para que serve?

Responsável por selecionar;

Utilização

Sudarshan, Silberschatz e Korth (2012)

(6)

id nome cor tamanho Valor

1 árvore verde 5 3.50

2 Bola sem detalhes vermelho 2 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 4 10.00

(7)

Select – Estrutura básica

SELECT coluna1, coluna2, ...FROM nome da tabela;

SELECT * FROM nome_tabela;

SELECT nome, cor FROM enfeites;

SELECT * FROM enfeites;

|

(8)

E se eu quiser somente itens vermelhos?

id nome cor tamanho Valor

1 árvore verde 5 3.50

2 Bola sem detalhes vermelho 2 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourado 2 3.00

7 Papai noel branco 4 10.00

Tabela enfeites

(9)

Select – WHERE

SELECT coluna1, coluna2, ...FROM tabela WHERE condição;

|

SELECT * FROM enfeites WHERE cor=‘vermelho’;

id nome cor tamanho Valor

1 árvore verde 5 3.50

2 Bola sem detalhes vermelho 2 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 4 10.00

Tabela enfeites

(10)

Select- OPERADORES

Operador de igual (=)

SELECT cor FROM enfeites WHERE nome = ‘Papai noel’;

Operador de diferente (<>)

SELECT tamanho FROM enfeites WHERE cor <> ‘verde’;

Operador de Maior (>) ou menor (<)

SELECT * FROM enfeites WHERE valor < 3;

Operador de maior igual (>=) ou menor igual (<=)

SELECT id FROM enfeites WHERE valor >= 2;

Operador Like (%)

SELECT * FROM enfeites WHERE cor LIKE ‘ver%’;

SELECT * FROM enfeites WHERE cor LIKE ‘%e ‘;

SELECT * FROM enfeites WHERE cor LIKE ‘%o%’;

Elmasri e Navathe (2015)

id nome cor tamanho Valor

1 árvore verde 5 3.50

2 Bola sem detalhes vermelho 2 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 4 10.00

Tabela enfeites

(11)

Select- Orderby

SELECT coluna1, coluna2, ... FROM nome_tabela ORDER BY column... ASC|DESC;

SELECT *FROM enfeites ORDER BY tamanho DESC;

SELECT * FROM enfeites WHERE cor=’vermelho’

ORDER BY id DESC;

|

id nome cor tamanho Valor

1 árvore verde 7 3.50

2 Bola sem detalhes vermelho 3 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 5 10.00

Tabela enfeites

ASC - menor para o maior (1,2,3,4,20) DESC - maior para o menor (20,4,3,2,1)

(12)

BETWEEN

SELECT nomedoscampos FROM nomedatabela WHERE campo BETWEEN x AND y;

SELECT nome FROM enfeites WHERE tamanho BETWEEN 3 AND 7;

id nome cor tamanho Valor

1 árvore verde 7 3.50

2 Bola sem detalhes vermelho 3 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 5 10.00

Tabela enfeites

(13)

LIMIT

SELECT nomedoscampos FROM nomedatabela LIMIT N;

SELECT nome FROM enfeites LIMIT 3;

SELECT nome FROM enfeites ORDER BY valor DESC LIMIT 2;

id nome cor tamanho valor

1 árvore verde 7 3.50

2 Bola sem detalhes vermelho 3 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 5 10.00

Tabela enfeites

(14)

Agora, vocês:

Vamos fazer uma prática:

-Uma pessoa sugere uma consulta;

id nome cor tamanho Valor

1 árvore verde 5 3.50

2 Bola sem detalhes vermelho 2 2.00

3 Bola com detalhes vermelho 2 3.00

4 Bola leão marinho transparente 4 6.00

5 Bola com detalhes vermelho 2 3.00

6 Bola de ouro dourada 2 3.00

7 Papai noel branco 4 10.00

Tabela enfeites

(15)

Dúvidas?

(16)

Exercício - Sala

Qual das consultas a seguir deve ser escolhida para selecionar o nome e o número de títulos dos times com mais de 21 estaduais em Pernambuco, apresentando os resultados do maior para o

menor?

A)SELECT * FROM campeonato WHERE *<21;

B) SELECT *FROM campeonatos WHERE titulos>21;

C) SELECT nome, titulos FROM campeonatos WHERE titulos >= 21 ORDERBY ASC;

D) SELECT nome, titulos FROM campeonatos WHERE titulos>21 ORDERBY DESC;

Nome Titulos Vice

Sport 41 23

Náutico 21 30

Santa Cruz 29 32

Porto 0 2

Salgueiro 0 2

Central 0 1

Tabela Campeonatos

(17)

Exercício - Casa

A partir da tabela anterior, faça o que se pede:

A)desenvolva uma consulta que retorne somente o nome dos times com nenhum titulo;

B) desenvolva uma consulta que retorne todos valores das colunas dos times com mais de 3 vices;

C) desenvolva uma consulta que retorne os títulos em ordem crescente dos times que começam com a string “sa”;

D) Crie uma consulta que não foi mencionada anteriormente;

(18)

Leitura recomendada

Visão inicial :

https://www.devmedia.com.br/principais-instrucoes-sql/5748 Visão aprofundada:

Parte 2, capitulo 3 do livro de Elmasri and S. Navathe – Fundamentos de Sistema de Banco de Dados

Visão Mais aprofundada ainda!

M Jackson .Thirty years (and more) of databases .Revista Information and Software Technology, volume = "41", páginas =969-978, 1999.

(19)

Próxima aula

Prova 

(20)

Referências

C. J. Date. Introdução a Sistema de Banco de Dados. Editora Campus, 8ª. Edição. 2004

S. Sudarshan and A. Silberschatz and F. Henry Korth. Sistemas de Banco de Dados. 6ª. Edição.

Editora Makron Books, 2012

E. R. Elmasri and S. Navathe and. Fundamentos de Sistema de Banco de Dados. Editora Addison Wesley 7ª. Edição, Pub, 2015.

Referências

Documentos relacionados

• CREATE [TABLE | VIEW | INDEX] – Criação de uma tabela (CREATE TABLE) de uma visão (CREATE VIEW) ou de um índice (CREATE INDEX).. • ALTER TABLE – Alteração da

Anterior a LVQ está o conceito de Quantização Vetorial (denotada pela sigla em inglês, VQ) [14], [13]. A principal idéia de VQ é formar uma aproximação quantizada dos dados,

1º Aprovar, para o exercício de 2006, os critérios e as normas de transferência de recursos financeiros aos Estados, ao Distrito Federal e aos Municípios, visando executar ações

ao Brasil, encontraram vários povos que aqui habitavam, dentre eles os tupis, os jês, os karib e os Aruak. Corresponde a uma de suas características gerais. a) Assim

ALTER TABLE pizzapedida ADD FOREIGN KEY(nrpedido) REFERENCES compra (nrpedido);. ALTER TABLE pizzapedida ADD FOREIGN KEY(codborda) REFERENCES

Consumo dos créditos ativos de acordo com as tarifas do plano do Cliente (aquisições e ativações de créditos Oi Multiuso efetuadas). 7.5 O Cliente poderá, a qualquer

Esse é um saber empírico sobre si mesma, e essa questão foi a principal e mais relevante para as mulheres, no retorno à vida sexual, após o parto: sentir-se pronta e sentir que

CREATE DATABASE – cria um novo banco de dados ALTER DATABASE – modifica um banco de dados CREATE TABLE – cria uma nova tabela.. ALTER TABLE – altera uma tabela DROP TABLE