Sélectionner des données dans des plages dans SQL

le Langage de requête structuré (SQL) offre aux utilisateurs de bases de données la possibilité de créer des requêtes personnalisées pour extraire des informations des bases de données. Dans un article précédent, nous avons exploré l'extraction d'informations à partir d'une base de données utilisation de requêtes SQL SELECT. Développons cette discussion et explorons comment vous pouvez effectuer des requêtes pour récupérer les données qui correspond à des conditions spécifiques.

Prenons un exemple basé sur la méthode couramment utilisée Vent du nord base de données, qui est souvent livrée avec des produits de base de données sous forme de didacticiel.

Voici un extrait de la table Product de la base de données:

instagram viewer
ID de produit Nom du produit ID du fournisseur Quantité par unité Prix ​​unitaire Unités en stock
1 Chai 1 10 boîtes x 20 sacs 18.00 39
2 Chang 1 24 - bouteilles de 12 onces 19.00 17
3 Sirop d'Anis 1 12 - bouteilles de 550 ml 10.00 13
4 Assaisonnement cajun du chef Anton 2 48 - pots de 6 onces 22.00 53
5 Mélange de gombo du chef Anton 2 36 boîtes 21.35 0
6 Tartinade de Boysenberry de grand-mère 3 12 pots de 8 onces 25.00 120
7 Poires séchées biologiques Uncle Bob's 3 12 - 1 lb paquets. 30.00 15
Tableau des produits

Conditions aux limites simples

Les premières restrictions que nous allons imposer à notre requête impliquent des conditions aux limites simples. Nous pouvons les spécifier dans la clause WHERE de la requête SELECT, en utilisant des instructions de condition simples construites avec des opérateurs standard, tels que , >= et <=.

Tout d'abord, essayons une requête simple qui nous permet d'extraire une liste de tous les produits de la base de données qui ont un UnitPrice supérieur à 20,00:

SELECT ProductName, UnitPrice
DE produits
O Prix unitaire >20,00

Cela produit une liste de quatre produits, comme indiqué ci-dessous:

Nom du produit Prix unitaire

Mélange de gombo du chef Anton 21.35
Assaisonnement cajun du chef Anton 22.00
Tartinade de Boysenberry de grand-mère 25,00
Poires séchées biologiques Uncle Bob's 30,00

Nous pouvons également utiliser la clause WHERE avec des valeurs de chaîne. Cela équivaut essentiellement à des caractères avec des nombres, A représentant la valeur 1 et Z représentant la valeur 26. Par exemple, nous pourrions afficher tous les produits dont les noms commencent par U, V, W, X, Y ou Z avec la requête suivante:

SÉLECTIONNER le nom du produit
DE produits
WHERE ProductName >= 'T'

Ce qui donne le résultat:

Nom du produit

Poires séchées biologiques Uncle Bob's

Exprimer des plages à l'aide de limites

La clause WHERE nous permet également d'implémenter une condition de plage sur une valeur en utilisant plusieurs conditions. Par exemple, si nous voulions reprendre notre requête ci-dessus et limiter les résultats aux produits dont les prix se situent entre 15,00 et 20,00, nous pourrions utiliser la requête suivante:

SELECT ProductName, UnitPrice
DE produits
O Prix Unitaire > 15,00 ET Prix Unitaire < 20,00

Cela produit le résultat ci-dessous:

Nom du produit Prix unitaire

Chaï 18h00
Chang 19.00

Exprimer les plages avec BETWEEN

SQL fournit également un raccourci entre la syntaxe qui réduit le nombre de conditions que nous devons inclure et rend la requête plus lisible. Par exemple, au lieu d'utiliser les deux conditions WHERE ci-dessus, nous pourrions exprimer la même requête que:

SELECT ProductName, UnitPrice
DE produits
O Prix Unitaire ENTRE 15.00 ET 20.00

Comme pour nos autres clauses de condition, BETWEEN fonctionne également avec des valeurs de chaîne. Si nous voulions produire une liste de tous les pays commençant par V, W ou X, nous pourrions utiliser la requête:

SÉLECTIONNER le nom du produit
DE produits
O ProductName ENTRE "A" et "D"

Ce qui donne le résultat:

Nom du produit

Sirop d'Anis
Chai
Chang
Mélange de gombo du chef Anton
Assaisonnement cajun du chef Anton

La clause WHERE est une partie puissante du langage SQL qui vous permet de restreindre les résultats aux valeurs comprises dans des plages spécifiées. Il est très couramment utilisé pour aider à exprimer la logique métier et devrait faire partie de la boîte à outils de tout professionnel de la base de données. Il est souvent utile d'incorporer des clauses communes dans une procédure stockée pour la rendre accessible à ceux qui ne connaissent pas SQL.