Skip to main content

Sélection de données dans des plages dans SQL

Geography Now! NAURU (Avril 2025)

Geography Now! NAURU (Avril 2025)
Anonim

Le langage SQL (Structured Query Language) offre aux utilisateurs de bases de données la possibilité de créer des requêtes personnalisées pour extraire des informations à partir de bases de données. Dans un article précédent, nous avons exploré l'extraction d'informations d'une base de données à l'aide de requêtes SQL SELECT. Développons cette discussion et explorons comment vous pouvez exécuter des requêtes avancées pour récupérer des données correspondant à des conditions spécifiques.Prenons un exemple basé sur la base de données Northwind couramment utilisée, qui est souvent fournie avec les produits de base de données sous forme de didacticiel.

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

Produit table
ID de produitProductNameID du fournisseurQuantité par unitéPrix ​​unitaireUnités en stock
1Chai110 boîtes x 20 sacs18.0039
2Chang1Bouteilles de 24 à 12 oz19.0017
3Sirop d'Anis1Bouteilles de 12 à 550 ml10.0013
4Assaisonnement Cajun du chef Anton248 - pots de 6 oz22.0053
5Gumbo Mix du chef Anton236 boîtes21.350
6Tartinade aux baies de grand-mère3Pots de 12 à 8 oz25.00120
7Poires séchées biologiques d'oncle Bob312 - 1 lb pkgs.30.0015

Conditions aux limites simples

Les premières restrictions que nous allons placer sur 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 <=.

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

SELECT ProductName, UnitPrice FROM produits WHERE UnitPrice> 20,00

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

ProductName UnitPrice ------- -------- Mix Gumbo du chef Anton 21.35 Assaisonnement Cajun du chef Anton 22.00 Pâte à tartiner à la Boysenberry de Grandma's 25.00 Poires séchées biologiques de Uncle Bob's 30.00

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

SÉLECTIONNER PRODUITName FROM produits WHERE ProductName> = 'T'

Ce qui produit le résultat:

ProductName ------- Poires séchées biologiques d'oncle Bob

Exprimer des plages à l'aide de limites

La clause WHERE nous permet également d'implémenter une condition d'intervalle sur une valeur en utilisant plusieurs conditions. Par exemple, si nous voulions prendre notre requête ci-dessus et limiter les résultats aux produits dont les prix étaient compris entre 15.00 et 20.00, nous pourrions utiliser la requête suivante:

CHOISIR ProductName, UnitPrice DE PRODUITS WHERE UnitPrice> 15.00 ET UnitPrice <20.00

Cela produit le résultat ci-dessous:

ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00

Exprimer des gammes avec BETWEEN

SQL fournit également un raccourci entre la syntaxe BETWEEN qui réduit le nombre de conditions à 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 sous la forme:

CHOISIR ProductName, UnitPrice DE PRODUITS O UnitPrice ENTRE 15.00 ET 20.00

Comme avec nos autres clauses de condition, BETWEEN fonctionne également avec les 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:

CHOISISSEZ LE NOM DU PRODUIT À PARTIR DE PRODUITS OU LE NOM DU PRODUIT ENTRE "A" ET "D"

Ce qui produit le résultat:

ProductName ------- Sirop à l'anis Chai Chang Assaisonnement Cajun du chef Anton's Gumbo Mix du chef Anton

La clause WHERE est une partie puissante du langage SQL qui vous permet de limiter 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 chaque 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.