|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Critérios de seleção em SQLEstudaremos as possibilidades de filtrar os registros com o fim de recuperar somente aqueles que cumpram umas condições pré-estabelecidas. Na seção anterior vimos a forma de recuperar os registros das tabelas, as formas empregadas devolviam todos os registros da mencionada tabela. Ao longo deste manual se estudarão as possibilidades de filtrar os registros com o fim de recuperar somente aqueles que cumpram umas condições pré-estabelecidas.
Antes de começar o desenvolvimento deste artigo, há que ressaltar três detalhes de vital importância. O primeiro deles é que cada vez que se deseja estabelecer uma condição referida a um campo de texto a condição de busca deve ir fechada entre aspas simples; a segunda é que não é possível estabelecer condições de busca nos campos memo e; a terceira e última faz referência às datas. Ate hoje não fui capaz de encontrar uma sintaxe que funcione em todos os sistemas, por isso se faz necessário particulariza-las segundo o banco de dados:
Exemplo
Banco de Dados Exemplo (para gravar a data 18 de maio de 1969)
Referente aos valores lógicos True ou False cabe destacar que não são reconhecidos em ORACLE, nem nesse sistema de banco de dados, nem em SQL-SERVER existem os campos de tipo "SIM/NAO" de ACCESS; nesses sistemas se utilizam os campos BIT que permitem armazenar valores de 0 ou 1. Internamente, ACCESS, armazena neste campos valores de 0 ou -1, por tanto tudo se complica bastante, porém, aproveitando a coincidência do 0 para os valores FALSE, pode-se utilizar a sintaxe seguinte que funciona em todos os casos: se se deseja saber se o campo é falso "... CAMPO = 0" e para saber os verdadeiros "CAMPO <> 0". Operadores Lógicos Os operadores lógicos suportados por SQL são: AND, OR, XOR, Eqv, Imp, Is e Not. Com exceção dos dois últimos, todos possuem a seguinte sintaxe: <expressao1> operador <expressao2> Onde expressao1 e expressao2 são as condições a avaliar, o resultado da operação varia em função do operador lógico. A tabela anexa mostra os diferentes possíveis resultados:
O último operador denominado Is se emprega para comparar duas variáveis de tipo objeto <Objeto1> Is <Objeto2>. este operador devolve verdadeiro se os dois objetos forem iguais. SELECT * FROM Empregados WHERE Idade > 25 AND Idade < 50 SELECT * FROM Empregados WHERE (Idade > 25 AND Idade < 50) OR Salario = 100 SELECT * FROM Empregados WHERE NOT Estado = 'Solteiro' SELECT * FROM Empregados WHERE (Salario >100 AND Salario < 500) OR (Cidade = 'Madri' AND Estado = 'Casado') Intervalos de Valores Para indicar que desejamos recuperar os registros segundo o intervalo de valores de um campo empregaremos o operador Between cuja sintaxe é: campo [Not] Between valor1 And valor2 (a condição Not é opcional) Neste caso a consulta devolveria os registros que contiverem em "campo" um valor incluído no intervalo valor1, valor2 (ambos inclusive). Se ante-pusermos a condição Not devolverá aquelos valores não incluídos no intervalo. SELECT * FROM Pedidos WHERE CodPostal Between 28000 And 28999 (Devolve os pedidos realizados na cidade de Madrid) O Operador Like Utiliza-se para comparar uma expressão de cadeia com um modelo em uma expressão SQL. Sua sintaxe é: expressão Like modelo Onde expressão é uma cadeia modelo ou campo contra o que se compara expressão. Pode-se utilizar o operador Like para encontrar valores nos campos que coincidam com o modelo especificado. Por modelo pode especificar um valor completo (Ana Maria), ou se pode utilizar uma cadeia de caracteres asterisco como os reconhecidos pelo sistema operacional para encontrar uma classificação de valores (Like An*). O operador Like pode ser utilizado em uma expressão para comparar um valor de um campo com uma expressão de cadeia. Por exemplo, se introduzirmos Like C* em uma consulta SQL, a consulta devolve todos os valores de campo que começarem pela letra C. Em uma consulta com parâmetros, pode fazer com que o usuário escreva o modelo que será utilizado. O exemplo seguinte devolve os dados que começam com a letra P seguido de qualquer letra entre A e F e de três dígitos: Like 'P[A-F]###' Este exemplo devolve os campos cujo conteúdo comece com uma letra da A à D seguidas de qualquer cadeia. Like '[A-D]*' Na tabela seguinte se mostra como utilizar o operador Like para comprovar expressões com diferentes modelos. ACCESS
SQL-SERVER
O Operador In Este operador devolve aqueles registros cujo campo indicado coincide com algum dos em uma lista. Sua sintaxe é: expressao [Not] In(valor1, valor2, . . .) SELECT * FROM Pedidos WHERE Cidade In ('Madri', 'Barcelona', 'Sevilha') A cláusula WHERE A cláusula WHERE pode ser usada para determinar que registros das tabelas enumeradas na cláusula FROM aparecerão nos resultados da instrução SELECT. Depois de escrever esta cláusula deve-se especificar as condições expostas nas seções anteriores. Se não se emprega esta cláusula, a consulta devolverá todas as filas da tabela. WHERE é opcional, mas quando aparece deve ir a seguir de FROM. SELECT Sobrenome, Salario FROM Empregados WHERE Salario = 21000 SELECT IdProduto, Existencias FROM Produtos WHERE Existencias <= NovoPedido SELECT * FROM Pedidos WHERE DataEnvio = #05-30-1994# SELECT Sobrenomes, Nome FROM Empregados WHERE Sobrenomes = 'King' SELECT Sobrenomes, Nome FROM Empregados WHERE Sobrenomes Like 'S*' SELECT Sobrenomes, Salario FROM Empregados WHERE Salario Between 200 And 300 SELECT Sobrenomes, Salario FROM Empregados WHERE Sobrenomes Between 'Lon' And 'Tol' SELECT IdPedido, DataPedido FROM Pedidos WHERE DataPedido Between #01-01-1994# And #12-31-1994# SELECT Sobrenomes, Nome, Cidade FROM Empregados WHERE Cidade In ('Sevilha', 'Los Angeles', 'Barcelona')
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada + 2 Comentários sem rever
Manuais relacionados com este artigo Dentro de Tutorial de SQL Anterior: Consultas de seleção Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Linguagem SQLComentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |