De que se trata o artigo:

A linguagem SQL é um padrão de banco de dados. Isto decorre da sua simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Ela é uma linguagem declarativa em oposição a outras linguagens procedurais. Isto reduz o ciclo de aprendizado daqueles que se iniciam na linguagem. Neste contexto, este artigo introduz os comandos SQL abordando também o uso de cláusulas de seleção e operadores.

Em que situação o tema útil:

Ao final deste artigo você conhecerá o que é uma expressão SQL e como utilizá-la, conhecerá o que é uma condição e como utilizá-la, estará familiar com o uso da cláusula where e estará apto a utilizar um conjunto de operadores que em conjunto com a cláusula where permitirão a definição de consultas mais avançadas.

Resumo DevMan

Este artigo introduz os comandos SQL abordando também o uso de cláusulas de seleção e operadores. Para apoiar nossos estudos no uso da SQL, os exemplos aqui apresentados considerarão o uso dos SGBDs Oracle e MySQL.

Atualmente o volume de dados armazenado nos sistemas de bancos de dados das mais diversas organizações está crescendo de forma bastante acelerada. E para que isto ocorra, é necessário que os SGBDs forneçam opções para que o armazenamento de dados e posteriormente a recuperação de informações ocorra da melhor forma possível. Para que essa realidade se tornasse possível foi definida a linguagem de consulta estruturada (SQL – Structured Query Language).

Em 1986 o American National Standard Institute (ANSI) publicou a SQL como linguagem padrão para os bancos de dados relacionais, chamando-o de SQL-86. Assim, a partir de 1986, os sistemas gerenciadores de bancos de dados relacionais passaram a adotar a SQL como linguagem padrão. A SQL é subdividida em três sub-linguagens, que são:

· DDL (Data Definition Language): que apresenta uma série de comandos que permitem a definição dos dados. Dentre os principais comandos, podemos destacar o CREATE, que é destinado à criação do banco de dados e das tabelas que o compõe, além das relações existentes entre as tabelas. Outros exemplos de comandos DDL que podemos citar neste momento são: ALTER e DROP;

· DML (Data Manipulation Language): que apresenta uma série de comandos destinados à manipulação de dados, tais como: consultas, inserções, exclusões e alterações, para um ou mais registros de uma ou mais tabelas de maneira simultânea. Dentre alguns exemplos de comandos DML destacam-se: SELECT, INSERT, UPDATE e DELETE;

· DCL (Data Control Language): que apresenta uma série de comandos para controlar o acesso aos dados, usuários e grupos. Dentre alguns exemplos de comandos DCL, destaca-se o comando GRANT.

Após a primeira versão do padrão SQL-86, tivemos algumas variações que originaram a SQL-92 e atualmente várias características foram incorporadas à linguagem, tendo já sido publicado o SQL-3. Foram adicionados recursos relacionados à orientação a objetos, dentre várias outras características.

Além do padrão SQL, cada fabricante de SGBD pode acrescentar funcionalidades exclusivas ao SGBD. Isto ocorre freqüentemente, principalmente com alguns dos principais fabricantes, como Microsoft (SQL Server), Oracle (atualmente com o Oracle11g) e IBM (DB2).

Neste contexto, este artigo introduz os comandos SQL abordando também o uso de cláusulas de seleção e operadores. Isto permitirá a você conhecer a SQL e passar a utilizá-la de diversas formas interessantes. Sendo assim, ao final deste artigo você:

· Conhecerá o que é uma expressão SQL e como utilizá-la;

· Conhecerá o que é uma condição e como utilizá-la;

· Estará familiar com o uso da cláusula where;

· Estará apto a utilizar um conjunto de operadores que em conjunto com a cláusula where permitirão a definição de consultas mais avançadas.

Para apoiar nossos estudos no uso da SQL, os exemplos aqui apresentados considerarão o uso dos SGBDs Oracle e MySQL. Embora possam existir diferenças na forma de escrita entre os SGBDs aqui considerados e outros que você possa utilizar como o PostgreSQL e SQL Server, a lógica de funcionamento será bastante semelhante assim como os resultados retornados uma vez que estes SGBDs trabalham baseados no padrão definido pela ANSI para a linguagem SQL.

Trabalhando com expressões em consultas SQL

A definição que temos para o termo expressão é bastante simples: uma expressão retorna um valor. Os tipos utilizados em uma expressão variam bastante, cobrindo diferentes tipos de dados como string, numeric e boolean. Na verdade, quase tudo que inserirmos depois do SELECT ou FROM em um comando SQL pode ser considerado uma expressão. No exemplo abaixo, a palavra AMOUNT é uma expressão que retorna os valores contidos na coluna AMOUNT da tabela CHECKS.

SELECT AMOUNT FROM CHECKS;

Perceba que podemos modificar um pouco a expressão acima tornando claro, por exemplo, que esta expressão retorna valores numéricos ao multiplicar AMOUNT por 10.

SELECT AMOUNT*10 FROM CHECKS; 

Já na consulta SQL abaixo temos que NAME, ADDRESS, PHONE, e ADDRESSBOOK são as expressões da consulta.

SELECT NAME, ADDRESS, PHONE
  FROM ADDRESSBOOK; 

Agora examine a seguinte cláusula where.

WHERE NAME = 'BROWN'

Como pode ser observado, ela contem uma condição, NAME = 'BROWN', que se trata de um exemplo de expressão boolean uma vez que seu resultado será true ou false dependendo da condição =.

Adicionando condições em queries

Caso você queria encontrar um item ou grupo de itens em particular em seu banco de dados, você precisará fazer uso de uma ou mais condições em suas queries. Podemos definir condições em consultas SQL utilizando a cláusula where. Para exemplificar, temos abaixo um conjunto de condições cujo objetivo é:

1. Encontrar todos em uma organização cujo nome seja igual a Brown;

NAME = 'BROWN'

2. Encontrar todos em uma organização que trabalharam mais de 100 horas no último mês:

NUMBEROFHOURS > 100

Como pode ser observado, condições permitem que você realize buscas por registros específicos em um banco de dados. Em sua forma mais comum, condições possuem uma variáveis, uma constante e um operador de comparação. No primeiro exemplo citado acima, a variável é NAME, a constante é Brown e o operador de comparação é “=”. Já no segundo exemplo, a variável é NUMBEROFHOURS, a constante é 100 e o operador de comparação é “>”. Dessa forma, antes de irmos mais a fundo na escrita de comandos SQL, é importante estudamos mais detidamente dois elementos que a compõem: a cláusula where e os operadores.

A sintaxe da cláusula where é:

WHERE <SEARCH CONDITION>

SELECT, FROM ...

Quer ler esse conteúdo completo? Tenha acesso completo