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?
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.
Máquina de Pascal
A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.
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.
Donkey Kong
A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.
Música tema do Blanka
Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.
Street Fighter 2
Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".
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.