Agora vou falar sobre um complemento importantíssimo do comando SELECT, que é o WHERE, que
nos permite consultas específicas. Este parâmetro permite que se especifique um dado para
comparação com algo que pode estar no banco, ou seja, um dado de entrada para direcionar nossa busca.
Para que eu possa demonstrar as funcionalidades do parâmetro WHERE, farei a inserção de
mais alguns dados fictícios em nossa tabela de clientes.
INSERT INTO cliente VALUES("1234-1234", "Ricardo", "Rua Episcopal, 3900 - Centro",
"ricardo@emailinexistente.com", 32, "123321123-33");
INSERT INTO cliente VALUES("4567-4567", "Roberto", "Rua XV de Novembro, 25 - Centro", "roberto@emailinexistente.com",
42, "756398336-20");
INSERT INTO cliente VALUES("4444-3333", "Richard", "Rua Bahia, 215 - Pacaembu", "richard@emailinexistente.com", 18,
"645332378-11");
Com esses dados já é possível demonstrar um pouco do que se pode fazer com o comando WHERE.
Para que fique claro, vamos começar com um SELECT exibindo os dados de nossa tabela, mas apenas nos campos nome, idade e
email.
SELECT nome AS Nome, idade AS idade, email AS Email FROM cliente;
A imagem acima mostra o retorno dos dados da nossa consulta. Vamos imaginar que quiséssemos exibir apenas os dados das
pessoas que possuam idade maior do que 30 anos. Aqui o parâmetro WHERE entrará em ação, da seguinte forma:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE idade > 30;
Vejamos o retorno disso:
Vejam que o SGBD retornou apenas as tuplas que continham idade maior do que 30 anos. Se quiséssemos incluir
TAMBÉM as pessoas com idade igual a 30 anos, nosso código ficaria assim:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE idade >= 30;
Vejam que eu incluí o sinal de igual e os dados retornados já incluem os clientes com
idade igual a 30 anos.
Vamos nos aprofundar um pouco mais nas consultas imaginando uma situação em que se quisesse saber a idade e o email do
cliente cujo nome é "Daniel". Agora nossa consulta ficaria dessa forma:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE nome like ‘Daniel’;
Vejamos esse retorno:
Agora o SGBD retornou apenas o cliente cadastrado com o nome de "Daniel". Vale destacar que no exemplo da idade eu
comparei esse campo utilizando o sinal de igual (=), mas para comparar a string eu
utilizei o parâmetro like. Strings devem ser sempre
comparadas utilizando o like e colocando-se o dado de entrada entre aspas simples.
Vamos aprofundar mais um pouco. Agora nós não sabemos o nome completo do cliente que queremos procurar, mas precisamos
dos mesmos dados do exemplo acima para clientes cujo nome comece com a letra R. Agora
nosso comando ficará assim:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE nome like 'R%';
Vejam que eu utilizei o sinal de porcentagem, que em linguagem SQL é um caractere coringa, ou seja, ele representa qualquer coisa. A interpretação que o SGBD faz do
comando utilizado no exemplo acima é:
Exiba o nome, a idade e o email da tabela cliente onde os nomes comecem com a letra R e sejam
seguidos por quaisquer outros caracteres.
Por isso a nossa consulta só retornou nomes iniciados por R.
Poderíamos usar o coringa de forma invertida. Vamos imaginar que precisássemos resgatar os dados de um cliente cujo
nome termine com a sequência de caracteres “berto”, mas não soubéssemos o começo. Nossa
busca ficaria:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE nome like '%berto';
O sistema procurou, dentre todos os nomes cadastrados na tabela "cliente", algum que possuísse a sequência "berto"
cadastrada e fez o retorno.
Para encerrar a explicação sobre esse poderoso caractere coringa, vamos agora imaginar que temos um trecho qualquer do
nome a ser procurado, mas sequer sabemos se ele se encontra no início, no meio ou no fim do nome. Esse trecho é "ard".
Nosso comando ficará da seguinte forma:
SELECT nome AS Nome, idade AS Idade, email AS Email FROM cliente WHERE nome like '%ard%';
Notem que o sistema exibiu todos os nomes que continham a sequência "ard", independente
da sua localização na string. Isso foi possível graças a presença do caractere coringa antes e
depois do trecho procurado.
Bem, no tópico seguinte falarei sobre como especificar ainda mais as consultas através de operadores lógicos.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Computadores de 1,5 tonelada
Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Nintendo Entertainment System
O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.
Final Fantasy
O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.
Tetris
O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Space Invaders
O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
Ábaco
O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.