sql parte 2
TRANSCRIPT
![Page 1: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/1.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto1
SQL – SELECT BANCO DE DADOS
Prof.ª M.ª Elaine Cecília Gatto
![Page 2: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/2.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto2
Introdução• SQL:
• Linguagem do tipo declarativa
• Permite ao usuário expressar aquilo que pretende sem ter que entrar em grandes detalhes sobre a localização física dos componentes, etc.
![Page 3: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/3.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto3
Introdução• Os usuários apenas indicam aquilo
que pretendem sem dizer exatamente de que forma o computador terá que operar para obter os resultados solicitados.
• Linguagens declarativas são mais flexíveis: referenciam os seus elementos através de um nome compreensível e não através de uma posição física em disco ou memória
![Page 4: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/4.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto4
Introdução• SQL é composta por:
• DML: data manipulation language ou linguagem de manipulação de dados (select, insert, etc.)
• DDL: data definition language ou linguagem de definição de dados (create, alter, drop, etc)
• DCL: data control language ou linguagem de controle de dados (grant, revoke, etc)
![Page 5: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/5.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto5
Introdução• SQL é orientada para o
processamento de conjuntos (set-based language)
• COBOL é orientada a processamento de arquivos
• SELECT: comando usado para realizar uma consulta ao banco de dados relacional.
![Page 6: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/6.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto6
SELECT• SINTAXE
SELECT campo1, campo2, campo3, ... , campoN FROM tabela1, tabela2, ..., tabelaNWHERE condiçãoGROUP BY ....HAVING ....ORDER BY ....
![Page 7: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/7.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto7
SELECIONANDO TODOS OS REGISTROS
• SINTAXE
SELECT codigo, localidade FROM codigopostal;
![Page 8: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/8.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto8
SELECIONANDO TODAS AS COLUNAS
• SINTAXE
SELECT * FROM codigopostal;SELECT * FROM pessoa;
• A ordem em que as colunas são apresentadas é a ordem em que elas foram colocadas na CLAUSULA SELECT
• Se usar o * é a ordem em que foram criadas
![Page 9: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/9.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto9
SELECIONANDO TODAS AS COLUNAS
• Se quisermos alterar a ordem de apresentação das colunas na saída da consulta (resultado), então basta colocar os nomes dos campos conforme se deseja
• SELECT nome, id, idade, codigopostal, telefone, salario FROM pessoa
• Pode-se ainda selecionar mais de uma vez a mesma coluna
![Page 10: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/10.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto10
PROJEÇÃO• PROJEÇÃO: Obter apenas algumas
das colunas da tabela
• Especificar as colunas que deseja na clausula select
![Page 11: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/11.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto11
PROJEÇÃO• EXEMPLO: escrever o comando SQL
que permite obter informação sobre a IDENTIFICAÇÃO, o NOME e o CÓDIGO POSTAL de todas as pessoas existentes no banco de dados.
SELECT id, nome, codigopostal FROM pessoa
![Page 12: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/12.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto12
RESTRIÇÃO: where• Permite restringir o número de linhas
a serem apresentadas
• Apenas serão apresentadas algumas das linhas que contem a informação desejada
• Uma condição é um caso particular de uma expressão que devolve sempre um resultado do tipo lógico booleano
![Page 13: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/13.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto13
RESTRIÇÃO: where• EXEMPLO: selecionar todos os
indivíduos da tabela PESSOA
Select * from pessoa
Select * from pessoa where true
Select * from pessoa where 1
Select * from pessoa where 1 = 1
![Page 14: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/14.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto14
RESTRIÇÃO: where• EXEMPLO: fazer uma consulta à
tabela PESSOA, da qual não resulte qualquer linha
• Para obter um resultado VAZIO, é necessário especificar uma condição que seja falsa para todos os registros
Select * from pessoa false
![Page 15: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/15.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto15
RESTRIÇÃO: where• Os SGBD não aceitam TRUE/FALSE,
apenas o ACCESS da Microsoft aceita!
• Select * from pessoa where id <> id
• Select * from pessoa where 1 <> 1
![Page 16: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/16.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto16
OPERADORES RELACIONAISOperador Descrição Exemplo Resultado
= Igual a 7 = 5 FALSE
> Maior que 7 > 5 TRUE
< Menor que 7 < 5 FALSE
>= Maior ou igual a 7 >= 5 TRUE
<= Menor ou igual a 7 <= 5 FALSE
<> Ou != Diferente 7 != 5 FALSE
Exemplo:
SELECT * FROM pessoa WHERE idade = 35
SELECT id, nome, salario FROM pessoa WHERE id >= 18
![Page 17: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/17.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto17
OPERADORES RELACIONAIS
• Exemplo: selecionar a descrição de todas as mensagens cujo ID seja diferente de 20
SELECT mensagem FROM mensagem WHERE id <> 20
![Page 18: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/18.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto18
OPERADORES LÓGICOSOPERADOR EXEMPLO
AND CONDIÇÃO 1 AND CONDIÇÃO 2
OR CONDIÇÃO 1 OR CONDIÇÃO 2
NOT NOT CONDIÇÃO
EXEMPLO: selecionar o ID, o NOME, a Idade e o SALARIO de todas as pessoas com idade entre 30 e 40 anos
Select id, idade, salario FROM pessoa WHERE idade >= 30 AND idade <= 40
EXEMPLO: selecionar o id, o nome, a idade e o salário de todas as pessoas que não fazem parte da seleção anterior
SELECT id, nome, idade, salario FROM pessoa WHERE idade < 30 OR idade > 40
![Page 19: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/19.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto19
OPERADORES LÓGICOSSELECT id, nome, idade, salario FROM pessoa WHERE NOT (idade >= 30 AND idade <= 40)
Select id, nome, idade, salario FROM pessoa WHERE NOT idade >= 30 AND idade <= 40
SELECT id, nome, idade, salario FROM pessoa WHERE (NOT (idade >= 30)) AND (idade <= 40)
![Page 20: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/20.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto20
BETWEEN• Permite especificar intervalos de
valores
• SINTAXE:
SELECT .... FROM .... WHERE valor [NOT] BETWEEN valor1 AND valor2
![Page 21: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/21.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto21
BETWEEN• As seguintes condições são equivalentes
• valor >= valor1 AND valor <= valor2• (valor >= valor1) AND (valor <= valor2)• valor Between valor1 AND valor2• valor NOT BETWEEN valor1 AND valor2• NOT (valor >= valor1 AND valor <= valor2)• NOT (valor BETWEEN valor1 AND valor2)• NOT (valor >= valor1) OR NOT (valor <=
valor2)• valor < valor1 OR valor > valor2
![Page 22: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/22.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto22
BETWEEN• EXEMPLO: selecionar o ID, o nome, a
idade e o salário de todas as pessoas com idade entre 30 e 40 anos
SELECT id, nome, idade, salario FROM pessoa WHERE idade >= 30 AND idade <= 40
SELECT id, nome, idade, salario FROM pessoa WHERE idade BETWEEN 30 and 40
![Page 23: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/23.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto23
BETWEEN• exemplo: selecionar o id, o nome, a idade e o salário de
todas as pessoas que não fazem parte da seleção anterior
Select id, nome, idade, salario FROM pessoa WHERE idade < 30 OR idade > 40
SELECT id, nome, idade, salario FROM pessoa WHERE NOT (idade >= 30 AND idade <= 40)
SELECT id, nome, idade, salario FROM pessoa WHERE idade NOT BETWEEN 30 AND 40
SELECT ide, nome, idade, salario FROM pessoa WHERE NOT (idade BETWEEN 30 AND 40)
![Page 24: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/24.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto24
IN• Permite verificar se algo faz ou não
parte de um conjunto de valores especificado entre parênteses
• SINTAXE:
SELECT ... FROM ... WHERE valor [NOT] IN (valor1, valor2, ..., valor)
![Page 25: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/25.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto25
IN• Condições equivalentes
• Valor = 1 OR valor =2 OR valor 3
• Valor IN (1, 2, 3)
![Page 26: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/26.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto26
IN• EXEMPLO: selecionar a lista completa,
com todos os campos, de códigos postais de Lisboa e tomar
SELECT * FROM postal WHERE localidade = ‘LISBOA’ OR localidade = ‘TOMAR’
SELECT * FROM postal WHERE localidade IN (‘LISBOA’, ‘TOMAR’)
![Page 27: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/27.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto27
IN• EXEMPLO: selecionar os códigos postais que não
pertencem a LISBOA nem a TOMAR
SELECT codigopostal, localidade FROM postal WHERE localidade <> ‘LISBOA’ AND localidade = ‘TOMAR’
SELECT codigpostal, localidade FROM POSTAL WHERE localidade NOT IN (‘LISBOA’, ‘TOMAR’)
SELECT localidade, códigopostal FROM postal WHERE codigopostal NOT IN (1000, 1100, 1200, 1500, 2300)
![Page 28: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/28.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto28
IS: tratamento de valores nulos
• NULL:
• Valor especial que pode ser atribuído a qualquer tipo de dados
• Quando presente em um campo indica ausência de valor
• Permite indicar se existe ou não algum valor já disponível para um determinado campo
![Page 29: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/29.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto29
IS: tratamento de valores nulos
• EXEMPLO:
• O valor ZERO não pode ser atribuído a uma nota de aluno logo no inicio do semestre. Se isso ocorrer, significa que o aluno tirou ZERO naquela prova ou trabalho, o que não é verdade!
![Page 30: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/30.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto30
IS: tratamento de valores nulos
• EXEMPLO:
• O valor ZERO não pode ser atribuído a uma nota de aluno logo no inicio do semestre. Se isso ocorrer, significa que o aluno tirou ZERO naquela prova ou trabalho, o que não é verdade!
![Page 31: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/31.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto31
IS: tratamento de valores nulos
• IS é o operador utilizado para realizar as comparações com valores NULL
• SINTAXE
• SELECT ... FROM ... WHERE campo IS [NOT] NULL
![Page 32: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/32.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto32
IS: tratamento de valores nulos
• Exemplo: selecionar os nomes e telefones de todas as pessoas
• SELECT nome, telefone FROM pessoa
• Alguns SGBDs apresentam o NULL no resultado, outros não!
![Page 33: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/33.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto33
IS: tratamento de valores nulos
• EXEMPLO: selecionar o nome das pessoas SEM telefone
SELECT nome FROM pessoa WHERE telefone IS NULL
• EXEMPLO: selecionar os nomes e os telefones das pessoas COM telefone
SELECT nome, telefone FROM pessoa WHERE telefone IS NOT NULL
![Page 34: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/34.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto34
IS: tratamento de valores nulos
• NULL não é zero e não é uma string vazia
• Uma comparação com NULL tem que ser feita usando IS
• Se fizer isso, será devolvido para você FALSE como resposta
• NULL é um indicador de inexistência de valor
![Page 35: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/35.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto35
LIKE• LIKE é usado para comparar STRINGS
• Permite resolver alguns problemas naturais que existem quando se pretende comparar strings
• Permite comparar partes da string
• A comparação de STRING com os operadores relacionais utiliza sempre, na comparação, a totalidade da string
![Page 36: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/36.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto36
LIKE• Exemplo: selecionar os códigos
postais associados a LISBOA
• SELECT * FROM codigopostal WHERE localidade = ‘LISBOA’
![Page 37: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/37.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto37
LIKE• CARACTERES CORINGAS: usados
para comparar partes de stringsWildcard Significado
% Qualquer conjunto de zero ou mais caracteres
_ Um caractere qualquer
* Qualquer conjunto de zero ou mais caracteres
? Um caractere qualquer
![Page 38: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/38.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto38
LIKE• EXEMPLO: selecionar todas as
mensagens começadas com T
SELECT * FROM mensagem WHERE mensagem LIKE ‘T%’
SELECT * FROM mensagem WHERE mensagem LIKE ‘T*’
![Page 39: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/39.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto39
LIKE• EXEMPLO: selecionar todas as
mensagens acabadas com ‘as’
SELECT * FROM mensagem WHERE mensagem LIKE ‘%as’
SELECT * FROM mensagem WHERE mensagem LIKE ‘*as’
![Page 40: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/40.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto40
LIKE• EXEMPLO: selecionar todas as
mensagens que contenham a palavra ‘vendas’ em qualquer parte da designação
SELECT * FROM mensagem WHERE mensagem LIKE ‘%vendas%’
SELECT * FROM mensagem WHERE mensagem LIKE ‘*vendas*’
![Page 41: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/41.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto41
LIKE• EXEMPLO: selecionar todas as
mensagens que contenham a string ‘te’
SELECT * FROM mensagem WHERE mensagem LIKE ‘*te*’
SELECT * FROM mensagem WHERE mensagem LIKE ‘%te%’
![Page 42: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/42.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto42
LIKE• EXEMPLO: selecionar todos os nomes
que contenham a string ‘DA’
SELECT * nome FROM pessoa WHERE nome LIKE ‘%da%’
SELECT * nome FROM pessoa WHERE nome LIKE ‘*da*’
![Page 43: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/43.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto43
LIKE• EXEMPLO: selecionar todos os NOMES que
NÃO contenham a string ‘da’
SELECT nome FROM pessoa WHERE nome NOT LIKE ‘%da%’
SELECT nome FROM pessoa WHERE NOT (nome LIKE ‘*da*’)
SELECT nome FROM pessoa WHERE NOT (nome LIKE ‘%da%’)
![Page 44: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/44.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto44
LIKE• EXEMPLO: selecionar todos os nomes
cujo segundo caracteres é um ‘a’
SELECT nome FROM pessoa WHERE nome LIKE ‘_a%’
SELECT nome FROM pessoa WHERE nome LIKE ‘?a*’
![Page 45: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/45.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto45
LIKE• Quando precisar pesquisar os próprios
caracteres coringas, usar a sintaxe abaixo
• String [NOT] LIKE ‘padrão_de_pesquisa’ ESCAPE ‘caractere’
• Exemplo: selecionar todas as mensagens que contenham o caractere ‘%’
![Page 46: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/46.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto46
LIKE• SELECT mensagem FROM mensagem WHERE
mensagem LIKE ‘%@%%’ ESCAPE ‘@’
• SELECT mensagem FROM mensagem WHERE mensagem LIKE ‘%=%%’ ESCAPE ‘=’
• % - qualquer conjunto de caracteres à esquerda
• @% - seguido do caractere %• % seguido de qualquer conjunto de
caracteres à direita
![Page 47: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/47.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto47
LIKEWildcard DESCRIÇÃO
‘[abc]%’ Qualquer string começada obrigatoriamente por a, b ou c‘[!abc]%’ Qualquer string não começada por a, b ou c‘[0-9]%[abc]’ String começada por um digito e terminada pelo caractere a, b ou c‘[a-zA-Z]_’ String formada unicamente por dois caracteres.
O primeiro é um caractere alfabético minúsculo ou maiúsculo. O segundo é um caractere qualquer
‘[!0-9]%’ O primeiro caractere não pode ser digito‘Al[m-r]%’ String começada por Al.
O terceiro caractere terá de estar entre os caracteres ‘m’ e ‘r’Depois pode aparecer qualquer string
‘Al[m-r]%[!0-9]’ String começada por Al.O terceiro caractere terá de estar entre os caracteres ‘m’ e ‘r’Depois pode aparecer qualquer stringNo entanto, o último caractere não pode ser numérico
![Page 48: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/48.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto48
Precedência de operadores
Parenteses
Multiplicação e divisão
Adição e subtração
NOT
AND
OR
![Page 49: SQL parte 2](https://reader035.vdocuments.com.br/reader035/viewer/2022062821/589ef1331a28abe97f8b67f1/html5/thumbnails/49.jpg)
01/05/2023Prof.ª M
.ª Elaine Cecília Gatto49
Precedência de operadores
• EXEMPLOS:
• SELECT * FROM pessoa WHERE idade <= 27 OR idade >= 30 AND telefone IS NULL
• SELECT * FROM pessoa WHERE idade <= 27 OR (idade >= 30 AND telefone IS NULL)
• SELECT * FROM pessoa WHERE (idade <= 27 OR idade >= 30) AND telefone IS NULL