No tópico passado vimos como podem ser usados os operadores AND, OR e NOT. Agora vamos falar de outros três, também muito importantes, que são o BETWEEN, o IS e o IN.

Fazendo um resumo rápido deles, seus papéis são:

- BETWEEN – Especificar um intervalo a ser procurado

- IS – Tratar campos cujos dados são nulos

- IN – Verifica se uma condição ou um valor fazem parte de determinado grupo de valores especificados.

Vamos começar demonstrando o operador BETWEEN, mas antes, só para relembrarmos a estrutura e o conteúdo da nossa tabela de clientes, vamos fazer um select em alguns campos:

SELECT nome AS Nome, email AS Email, idade AS Idade FROM cliente;

Where com outros operadores MySQL

Muito bem. Agora vamos utilizar o operador BETWEEN para especificar que queremos resultados apenas com idades entre 30 a 45 anos.

SELECT nome AS Nome, email AS Email, idade AS Idade FROM cliente WHERE idade BETWEEN 30 AND 45;

Where com outros operadores MySQL

Vejam que o SGBD só nos retornou os dados de clientes cujas idades se encontravam no intervalo que especificamos.

Antes de falar sobre o operador IS é preciso fazer alguns esclarecimentos. Devemos entender o conceito de NULL.

O que é valor NULL?

Quando um SGBD não possui valor algum armazenado em algum campo, ele insere um valor definido como NULL, ou seja, é a ausência total de valor.

O MySQL especifica isso claramente em suas consultas. Vou fazer uma inserção em nossa tabela de clientes e, propositalmente não vou inserir dados em alguns campos, como "endereço" e "idade".

INSERT INTO (telefone, nome, email, cpf) VALUES ("1234-1234", "Rodrigo", "rodrigo@emailinexistente.com", "389476625-11");

Agora vou dar um SELECT apenas nesse cliente:

SELECT * FROM cliente WHERE nome LIKE 'Rodrigo';

Where com outros operadores MySQL

Só como observação, o Oracle também exibe o valor NULL para especificar campos com ausência de dados, mas o SQL Server não exibe nada nesses campos, então se você estiver fazendo uso desse SGBD da Microsoft, fique sempre atento e não confunda um valor NULL com uma string vazia “”. A string vazia está lá! Ela existe! O valor NULL representa ausência total de informação.

Muito bem, agora que já sabemos o que é um campo NULL, vamos a um exemplo prático. Imaginem que queiramos exibir dados como "nome", "email" e "idade" de todos os usuários cujas idades cadastradas no banco NÃO sejam nulas. Nosso comando ficará assim:

SELECT nome AS Nome, email AS Email, idade AS Idade FROM cliente WHERE idade IS NOT NULL;

Where com outros operadores MySQL

Percebam que os dados do cliente "Rodrigo", cuja idade está cadastrada como nula, não foram exibidos. Agora vou inverter o comando, para que SOMENTE as idades nulas sejam exibidas.

SELECT nome AS Nome, email AS Email, idade AS Idade FROM cliente WHERE idade IS NULL;

Where com outros operadores MySQL

Notem que agora apenas os dados do cliente Rodrigo, cuja idade é nula no banco, foram exibidos.

Apenas para citar outro exemplo importante desse operador, mas que não veremos agora para não interromper a ordem dos assuntos, nós poderíamos querer fazer a média de todas as idades efetivamente cadastradas no sistema, desconsiderando os usuários cujos valores desse campo sejam nulos. Isso seria facilmente realizado com a verificação de “IS NOT NULL”, conforme utilizamos aqui. Mas voltaremos a falar dela no futuro.

Para encerrar, vou demonstrar o operador IN em ação. Como foi dito no início deste tutorial, ele nos permite efetuar uma busca dentre alguns elementos pré-determinados. Como nossa base de dados também possui a tabela "filme", vamos inserir alguns dados nela para que não usemos sempre a tabela cliente nas demonstrações.

INSERT INTO filme VALUES (“Drama”, “Cidade de Deus”, 1);

INSERT INTO filme VALUES (“Drama”, “O Pianista”, 2);

INSERT INTO filme VALUES (“Drama”, “Sangue Negro”, 3);

INSERT INTO filme VALUES (“Infantil”, “Shrek”, 4);

INSERT INTO filme VALUES (“Aventura”, “Quase Famosos”, 5);

INSERT INTO filme VALUES (“Aventura”, “Avatar”, 6);

INSERT INTO filme VALUES (“Terror”, “Sexta-Feira 13”, 7);

INSERT INTO filme VALUES (“Terror”, “Brinquedo Assassino”, 8);

Nossa tabela de filmes agora possui os seguintes dados:

Where com outros operadores MySQL

Agora vamos imaginar que queiramos efetuar uma consulta nos filmes do gênero "Drama". Podemos fazer isso com o operador IN da seguinte forma:

SELECT * FROM filme WHERE genero IN (‘Drama’);

Where com outros operadores MySQL

Poderíamos ainda especificar mais de um gênero, apenas separando-os por vírgulas dentro dos parênteses, dessa forma:

SELECT * FROM filme WHERE genero IN ('Drama', 'Terror');

Where com outros operadores MySQL

Agora foram exibidos tanto os filmes do gênero Drama quanto Terror. Bem, mas aí você, que está bem atento a todos os tópicos pode pensar que é desnecessário utilizar o operador IN, pois poderíamos obter o mesmo resultado com o LIKE e o OR, da seguinte maneira:

SELECT * FROM filme WHERE genero LIKE ‘Drama’ OR genero LIKE ‘Terror’;

Vamos executar:

Where com outros operadores MySQL

Realmente é fácil notar que as tuplas retornadas pelo banco são as mesmas. Para essa consulta, considerada simples, o IN pôde ser substituído pela combinação LIKE + OR, mas existirão situações em que isso não será possível, quando as consultas não forem tão simples e estiverem envolvendo mais de uma tabela. Chegaremos lá! Por enquanto apenas acredite que o operador IN é muito importante.


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.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!


Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.


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.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.


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.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.


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".