E aí, tudo bem? Então, as instruções SQL são uma forma de buscar informações em um banco de dados. É tipo uma conversa com o banco de dados, sabe? E a principal instrução tem três partes: SELECT, FROM e WHERE. O SELECT é para escolher quais campos você quer ver na consulta, o FROM é para escolher de quais tabelas esses campos vão vir e o WHERE é para filtrar os resultados, tipo só mostrar os que têm um certo valor em um campo específico.
![](https://static.wixstatic.com/media/f1402e_463b77792c3640c5bff82f18505ffb08~mv2.jpg/v1/fill/w_980,h_649,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/f1402e_463b77792c3640c5bff82f18505ffb08~mv2.jpg)
Por exemplo, se você tem um banco de dados chamado "mundo" com as tabelas "cidade" (com campos Id, Nome, CodigoPais, Estado, Populacao), "pais" (com campos Codigo, Nome, Continente, Regiao, Area, Populacao) e "linguapais" (com campos CodigoPais, Lingua, Oficial, Porcentagem), você pode fazer algumas consultas, como:
Uma consulta simples para mostrar só o nome das cidades: SELECT Nome FROM cidade;
Uma consulta precisa para mostrar o nome, a data de nascimento e o CPF de um cliente específico: SELECT nome, nascimento, cpf FROM clientes WHERE cpf = ‘12345678901’;
Uma consulta imprecisa para mostrar todos os dados dos clientes: SELECT * FROM clientes;
Ah, e se quiser evitar resultados duplicados, é só usar o DISTINCT. E dá para fazer operações aritméticas também, tipo dividir a população de uma cidade por 2: SELECT Nome, Populacao/2 FROM cidade.
Aí tem a cláusula WHERE, que é para filtrar os resultados. Tipo, se você quiser só as cidades com população menor que 100000, é só fazer assim: SELECT Nome, Populacao FROM cidade WHERE Populacao < 100000. E tem um negócio chamado BETWEEN que ajuda a simplificar algumas comparações, tipo: SELECT Nome, Populacao FROM cidade WHERE Populacao BETWEEN 90000 AND 100000.
E por último, tem a cláusula FROM, que é para escolher de quais tabelas você quer pegar os dados. Dá para juntar várias tabelas em uma consulta só. Tipo: SELECT cidade.Nome, cidade.Populacao, linguapais.Linguagem FROM cidade, pais, linguapais WHERE cidade.CodigoPais = pais.Codigo AND pais.Codigo = linguapais.CodigoPais;
Ah, e ainda tem um negócio de renomeação de campos com a cláusula AS e de variáveis de registro. E também dá para fazer operações com strings e ordenar os resultados. O operador LIKE serve para encontrar padrões de texto em uma consulta.
Vou te explicar os exemplos de consultas SQL utilizados para ilustrar a estrutura básica das instruções:
Consulta simples:
SELECT Nome FROM cidade;
Nesse exemplo, estamos pedindo para selecionar o campo "Nome" da tabela "cidade". É uma consulta simples porque não estamos fazendo nenhuma operação ou filtro, apenas selecionando um campo.
Consulta precisa:
SELECT nome, nascimento, cpf FROM clientes WHERE cpf = ‘12345678901’;
Essa consulta é mais precisa porque estamos selecionando três campos específicos ("nome", "nascimento" e "cpf") da tabela "clientes", mas estamos filtrando apenas os registros cujo campo "cpf" seja igual a "12345678901".
Consulta imprecisa:
SELECT * FROM clientes;
Esse exemplo é uma consulta imprecisa porque estamos selecionando todos os campos da tabela "clientes", sem nenhum filtro específico. Pode ser útil em alguns casos, mas geralmente não é a melhor prática.
Resultados com duplicidade:
SELECT ALL Nome FROM cidade;
ou
SELECT * FROM cidade;
Esses exemplos são equivalentes e vão selecionar todos os registros da tabela "cidade", incluindo os que se repetem. É possível usar a palavra-chave "ALL" ou simplesmente selecionar todos os campos com "*".
Resultados sem duplicidade:
SELECT DISTINCT Nome FROM cidade;
Nessa consulta, estamos selecionando apenas o campo "Nome" da tabela "cidade", mas excluindo os registros que se repetem. Isso é feito usando a palavra-chave "DISTINCT", que garante que cada valor apareça apenas uma vez na lista de resultados.
A cláusula WHERE é utilizada em consultas SQL para filtrar resultados baseado em uma condição especificada. No exemplo dado, a consulta é para encontrar todas as cidades com uma população inferior a 100.000. A estrutura básica da consulta é:
SELECT Nome, Populacao
FROM cidade
WHERE Populacao < 100000;
Isso irá selecionar somente as cidades que têm uma população inferior a 100.000 e retornar apenas os campos "Nome" e "População" da tabela "cidade".
Os conectivos AND, OR e NOT também podem ser utilizados em conjunto com a cláusula WHERE para filtrar resultados ainda mais precisos. Também é possível usar os operadores de comparação <, <=, >, >=, = e <> para especificar condições. Além disso, podemos usar o operador NOT BETWEEN para encontrar valores que estão fora de um intervalo específico.
SELECT Nome, Populacao
FROM cidade
WHERE Populacao >= 90000 AND Populacao <= 100000;
Para simplificar algumas operações de comparação, existe o operador BETWEEN, que pode ser utilizado para encontrar valores dentro de um intervalo específico. No exemplo dado, a consulta é para encontrar todas as cidades com uma população entre 90.000 e 100.000. A estrutura básica da consulta é:
SELECT Nome, Populacao
FROM cidade
WHERE Populacao BETWEEN 90000 AND 100000;
Isso irá selecionar somente as cidades que têm uma população dentro do intervalo especificado e retornar apenas os campos "Nome" e "População" da tabela "cidade".
Operações de String
O operador LIKE é muito útil para encontrar padrões em uma coluna de texto. Se você usar a porcentagem (%) como um curinga, ela corresponderá a qualquer substring. Se você usar o sublinhado (_), ele corresponderá a qualquer caractere único.
Por exemplo, se você quiser encontrar todos os nomes de cidades que começam com "Sor" em uma tabela chamada "cidade", pode usar a seguinte consulta:
SELECT Nome FROM cidade WHERE Nome like 'Sor%';
Aqui está outro exemplo interessante: para encontrar todas as cidades que contêm a letra "or" em qualquer lugar do nome, pode usar a seguinte consulta:
SELECT Nome FROM cidade WHERE Nome like '%or%';
Se você quiser encontrar qualquer string com exatamente três caracteres, pode usar o sublinhado três vezes:
SELECT Nome FROM cidade WHERE Nome like '___';
Se você quiser encontrar qualquer string com pelo menos três caracteres, use o sublinhado três vezes seguido de uma porcentagem:
SELECT Nome FROM cidade WHERE Nome like '___%';
Com esses exemplos simples, você pode começar a usar o operador LIKE em suas consultas SQL para encontrar padrões em dados de texto.
Espero ter ajudado a entender melhor como funciona a estrutura básica das consultas SQL!
Comments