08 sql - parte 02
-
Upload
sharllesguedes -
Category
Education
-
view
101 -
download
4
Transcript of 08 sql - parte 02
![Page 2: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/2.jpg)
Manipulando Dados
CONSULTA SELECT
INCLUSÃO INSERT
ALTERAÇÃO UPDATE
EXCLUSÃO DELETE
![Page 3: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/3.jpg)
Consultas SQL
• Realização de consultas em tabelas
SELECT atributo1, atributo2, ...
FROM tabela 1, tabela 2, ...
WHERE condição
![Page 4: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/4.jpg)
Consultas SQL
Select Especifica as colunas e expressões exibidas no resultado da consulta.
From Especifica as tabelas que contêm os dados exibidos nos resultado da consulta.
Where Especifica as condições usadas para filtrar registros no resultado da consulta.
Order by
Classifica os resultados da consulta com base nos dados de uma ou mais colunas.
Group By
Agrupa as linhas da consulta com base nos valores de uma das colunas.
Having Especifica as condições usadas para filtrar agrupamentos de dados no resultado da consulta. Só deve ser usado com GROUP BY.
![Page 5: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/5.jpg)
Consultas SQL
• Exibir todos os dados de todos os Hóspedes.
SELECT * FROM hospedes
• Exibir todos os dados de todos os Quartos.
SELECT * FROM quartos
• Exibir todos os dados de todos os serviços.
SELECT * FROM servicos
![Page 6: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/6.jpg)
Selecionando Colunas
• Exibir cpf, nome e sexo de todos os hospedes.
SELECT cpf, nome, sexo FROM hospedes
• Exibir descrição e preço de todos os serviços.
SELECT descricao, preco
FROM servicos
![Page 7: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/7.jpg)
Eliminando Duplicação na Seleção
• Sintaxe: SELECT DISTINCT <lista de colunas> FROM <tabela>
• Exibir o cpf de todos os hospedes que já solicitaram serviços. SELECT DISTINCT hospede FROM solicitacoes
• Exibir todos os quartos que já tiveram estadias. SELECT DISTINCT quarto FROM estadias
![Page 8: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/8.jpg)
Exibir colunas calculadas
• Sintaxe: SELECT <lista de colunas,expressão> FROM
<tabela>
• Exibir código, descrição, preço e o preço com 32% de aumento para todos os serviços.
SELECT codServico , descricao, preco, preco*1.32 ‘Novo Preco’
FROM servicos
![Page 9: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/9.jpg)
Exibir colunas calculadas
• SUM – função que soma valores de um atributo
SELECT SUM(preco) FROM servicos
• AVG – função que calcula a média dos valores de um atributo
SELECT AVG(preco) FROM servicos
• MAX – função que exibe o maior valor de um atributo
SELECT MAX(preco) FROM servicos
![Page 10: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/10.jpg)
Exibir colunas calculadas
• MIN – função que exibe o menor valor de um atributo
SELECT MIN(preco) FROM servicos
• AS – usado para dar nome a uma coluna resultante do
uso de uma função agregada (COUNT, SUM, AVG, MAX,
MIN, etc)
SELECT AVG(preco) AS media_preco
FROM servicos
![Page 11: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/11.jpg)
Contando os Registros
• Exibir quantos hospedes têm cadastro.
SELECT COUNT(*) FROM hospedes
• Exibir quantos hospedes informaram a data de nascimento
SELECT COUNT(dataNascimento)
FROM hospedes
• Exibir quantos serviços já foram solicitados.
SELECT COUNT(DISTINCT servico)
FROM solicitacoes
![Page 12: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/12.jpg)
Cláusula From
• Selecionar dados de uma única tabela
SELECT nome FROM hospedes
• Para cruzar dados que estão em tabelas diferentes, é preciso listar as tabelas na cláusula FROM e usar o mesmo princípio da operação produto cartesiano da álgebra relacional para selecionar apenas as linhas com códigos correspondentes
SELECT nome,
FROM hospedes, estadias
WHERE hospedes.cpf = estadias.hospede
![Page 13: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/13.jpg)
Cláusula From
• É possível definir apelidos para as tabelas e usá-los em vez dos nomes das tabelas
SELECT h.nome,
FROM hospedes h, estadias e
WHERE h.cpf = e.hospede
![Page 14: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/14.jpg)
Cláusula Where
• Os operadores <, <=, >, >=, =, <> podem ser usados para testar valores de atributos SELECT * FROM servicos WHERE preco > 100
SELECT * FROM quartos WHERE tipo= 'Standard’
• Os operadores lógicos AND, NOT, OR podem ser usados para combinar condições
SELECT * FROM hospedes
WHERE dataNascimento > ‘1975-01-01’ AND sexo = ‘F’
![Page 15: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/15.jpg)
Cláusula Where
• BETWEEN – usado para verificar se o valor de um atributo está em um intervalo de valores
dados dos quartos com valor de diária entre 300 e 500
SELECT * FROM quartos
WHERE valorDiaria BETWEEN 300 AND 500
• IN – usado para verificar se o valor de um atributo está em um conjunto de valores
dados dos quartos com valor de diária igual a 300 OU 500
SELECT * FROM quartos
WHERE valorDiaria IN (500,1500)
![Page 16: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/16.jpg)
Operando strings
• Exibir cpf e nome de todos os hospedes que tenham o nome começando por “M”
SELECT cpf, nome FROM hospedes WHERE nome LIKE ‘M%’
• Exibir cpf e nome de todos os hospedes que tenham o nome terminando por “Santos”
SELECT cpf, nome FROM hospedes WHERE nome LIKE ‘%Santos’
![Page 17: 08 sql - parte 02](https://reader030.fdocumentos.tips/reader030/viewer/2022020110/55c96a5dbb61eb383f8b4796/html5/thumbnails/17.jpg)
Cláusula Where
• Exibir cpf e nome de todos os hospedes que tenham “Santos” em qualquer parte do nome.
SELECT cpf, nome FROM hospedes WHERE nome LIKE ‘%Santos%’
• Exibir cpf e nome de todos os hospedes que tenham o nome começando por “Mar” seguido de um caractere qualquer e terminando por “a”
SELECT cpf, nome FROM hospedes
WHERE nome LIKE 'Mar_a%'