Skip to main content

Selecionando dados dentro de intervalos no SQL

Trazendo o total de um campo agrupado com sql (Pode 2025)

Trazendo o total de um campo agrupado com sql (Pode 2025)
Anonim

A Linguagem de Consulta Estruturada (SQL) fornece aos usuários do banco de dados a capacidade de criar consultas personalizadas para extrair informações de bancos de dados. Em um artigo anterior, exploramos a extração de informações de um banco de dados usando consultas SQL SELECT. Vamos expandir essa discussão e explorar como você pode realizar consultas avançadas para recuperar dados que correspondam a condições específicas.Vamos considerar um exemplo com base no banco de dados Northwind comumente usado, que frequentemente é fornecido com produtos de banco de dados como um tutorial.

Aqui está um trecho da tabela de produtos do banco de dados:

Tabela de produtos
ID do produtoNome do ProdutoIdentificação do FornecedorQuantityPerUnitPreço unitárioUnidades em estoque
1Chai110 caixas x 20 sacos18.0039
2Chang124 - garrafas de 12 onças19.0017
3Xarope de Anis112 garrafas de 550 ml10.0013
4Tempero Cajun do Chef Anton2Frascos de 48 a 6 onças22.0053
5Gumbo Mix do Chef Anton236 caixas21.350
6Spread de mirtilo da vovó3Frascos de 12 a 8 oz25.00120
7Peras Secas Orgânicas do Tio Bob312 - £ 1 pkgs.30.0015

Condições de limite simples

As primeiras restrições que colocaremos em nossa consulta envolvem condições de contorno simples. Podemos especificá-los na cláusula WHERE da consulta SELECT, usando instruções de condição simples construídas com operadores padrão, como <,>,> = e <=.

Primeiro, vamos tentar uma consulta simples que nos permita extrair uma lista de todos os produtos no banco de dados que tenham um PreçoUnit de mais de 20,00:

SELECT ProductName, UnitPrice FROM produtos ONDE UnitPrice> 20,00

Isso produz uma lista de quatro produtos, conforme mostrado abaixo:

ProductName UnitPrice ------- -------- Gumbo Mix do Chef Anton 21.35 Tempero Cajun do Chef Anton 22.00 Spread de Amora Salgada da Vovó 25.00 Pera Orgânica Seca do Tio Bob 30.00

Nós também podemos usar a cláusula WHERE com valores de string. Basicamente, isso equaciona caracteres em números, com A representando o valor 1 e Z representando o valor 26. Por exemplo, poderíamos mostrar todos os produtos com nomes iniciados por U, V, W, X, Y ou Z com a seguinte consulta:

SELECT ProductName FROM produtos WHERE ProductName> = 'T'

Qual produz o resultado:

ProductName ------- Peras Secas Orgânicas do Tio Bob

Expressando intervalos usando limites

A cláusula WHERE também nos permite implementar uma condição de intervalo em um valor usando várias condições. Por exemplo, se quisermos levar nossa consulta acima e limitar os resultados a produtos com preços entre 15:00 e 20:00, poderemos usar a seguinte consulta:

SELECT ProductName, UnitPrice FROM produtos WHERE UnitPrice> 15.00 E Preço Unitário <20.00

Isso produz o resultado mostrado abaixo:

ProductName Preço unitário ------- -------- Chai 18.00 Chang 19.00

Expressando intervalos com ENTRE

O SQL também fornece um atalho ENTRE a sintaxe que reduz o número de condições que precisamos incluir e torna a consulta mais legível. Por exemplo, em vez de usar as duas condições WHERE acima, poderíamos expressar a mesma consulta como:

SELECT ProductName, UnitPrice FROM produtos WHERE UnitPrice BETWEEN 15.00 E 20.00

Como com nossas outras cláusulas de condição, BETWEEN também trabalha com valores de string. Se quiséssemos produzir uma lista de todos os países que começam com V, W ou X, poderíamos usar a consulta:

SELECT ProductName FROM produtos WHERE ProductName ENTRE "A" e "D"

Qual produz o resultado:

ProductName ------- Xarope de Anis Chai Chang Tempero Cajun do Chef Anton's Chef Gumbo Mix Anton

A cláusula WHERE é uma parte poderosa da linguagem SQL que permite restringir resultados a valores que estão dentro de intervalos especificados. É muito comumente usado para ajudar a expressar a lógica de negócios e deve fazer parte do kit de ferramentas de cada profissional de banco de dados.

Geralmente é útil incorporar cláusulas comuns em um procedimento armazenado para torná-lo acessível para aqueles sem conhecimento de SQL.