domingo, 22 de dezembro de 2019

SQL - Filtros de Seleção




7. SQL - FILTROS DE SELEÇÃO 

Os comandos abordados até então, são utilizados em relação à estrutura das tabelas em sua totalidade. 

Para busca e seleção de áreas específicas das tabelas devemos acrescentar o complemento WERE em alguns dos comandos abordados anteriormente para que a operação somente seja realizada nos registros que atenderem as condições especificadas, neste sentido, faz-se necessário a abordagem do conceito de operadores. 

OPERADORES RELACIONAIS: 

• Igual (=), Diferente (!=) 

• Maior (>), Maior ou igual (>=) 

• Menor (<), Menor ou igual (<=) 

• Nulo (IS NULL), ou não-nulo (IS NOT NULL) 

• Entre intervalo (BETWEEN) 

• Valor parcial (like) 


OPERADORES LÓGICOS: 

• AND 
• OR 
• NOT 


Para exemplo de aplicação, adotemos duas situações distintas: 

1º Buscar no banco de dados todas as informações referentes a uma determinada pessoa através do nº de CPF; 

2º Pesquisar quantas pessoas com idade superior a vinte anos estão cadastradas no sistema 

SINTAXE: 
SELECT Campos FROM Tabela WHERE Condição

SELECT * FROM Pessoas WHERE CPF = '111.111.111-11'
SELECT NOME FROM PESSOAS WHERE IDADE > 20


Para atualização de campos específicos, podemos utilizar o comando UPDATE seguido do complemento WERE, exemplos a seguir: 

Se fosse necessário atualizar o nome do titular do CPF 222.222.222-22 para Fábio, usaríamos a sintaxe abaixo, o mesmo se aplica a mudança de idade para 25 anos do usuário Mário no segundo exemplo 

UPDATE Tabela SET Campo = Valor WHERE Condição
UPDATE PESSOAS SET NOME = 'Fabio' WHERE  CPF = '222.222.222-22'
UPDATE PESSOAS SET IDADE = 25 WHERE NOME = 'Mario'


Para deletar campos específicos sem excluir a tabela inteira, podemos usar o comando DELETE precedido do complemento WERE.

DELETE FROM Tabela WHERE Condição
DELETE FROM PESSOAS WHERE CPF = '222.222.222-22'
DELETE FROM PESSOAS WHERE NOME = 'Mario'


8. RELACIONAMENTOS NO SQL 

Para relacionarmos tabelas, utilizamos o parâmetro JOIN, sua sintaxe é:

SELECT Nome dos Campos FROM Nome-da-Tabela1 
JOIN Nome-da-Tabela2  ON Nome-da-Tabela3 

SELECT Campos FROM T1 JOIN T2 ON T1.FK=T2.PK
Condição: Relacionar chave estrangeira da Tabela1 com chave primária da Tabela2. Isto não é uma regra, aplica-se ao exemplo.

Se os campos em comum entre as tabelas possuírem o mesmo nome, podemos usar esta sintaxe:  

SELECT Nome dos Campos FROM T1 JOIN T2 USING Chave
Observação: onde Chave é o nome da chave da tabela.


INNER JOIN

SELECT * FROM Alunos JOIN Cursos ON Alunos.CPF = Cursos.CPF


Nenhum comentário: