
Comment écrire une requête SELECT simple sur SQL Server ? La clause SELECT en SQL Server permet de sélectionner certaines lignes d’une table. C’est la requête de base car le langage SQL, pour Structured Query Language, est fait avant tout pour interroger et afficher des données à partir d’une table.
Exemples de requêtes SELECT Server
En effet, la commande SELECT permet d’afficher et de lire les données. La requête SELECT est donc la plus utilisée et indispensable en SQL. De plus, elle permet d’afficher une seule colonne ou toutes les colonnes dans une seule requête SELECT.
Premièrement, avant d’exécuter la commande, créer au préalable la table d’exemple des ventes par mois avec ce script :
-- Tester si la table existe dans la base -- Pour la supprimer IF EXISTS( SELECT 1 FROM sys.objects WHERE object_id = object_id(N'[dbo].[VENTES]') AND type in (N'U') ) BEGIN DROP TABLE [dbo].[VENTES] END GO -- Créer la table VENTES pour les exemples T-SQL CREATE table [dbo].[VENTES] ( [MOIS] NVARCHAR(20), [MONTANT] NUMERIC(5) ) GO
Deuxième étape, insérer des lignes avec les montants des ventes mensuelles pour les trois premiers mois.
-- Insertion des données de Ventes pour notre exemple INSERT INTO dbo.VENTES (MOIS, MONTANT) VALUES (N'Janvier', 1000); INSERT INTO dbo.VENTES (MOIS, MONTANT) VALUES (N'Février', 2000); INSERT INTO dbo.VENTES (MOIS, MONTANT) VALUES (N'Mars', 3000); GO -- Sélection des résultats pour contrôle SELECT * FROM dbo.VENTES;
Exemple de requête sélection avec une seule colonne
Deuxièmement, dans l’exemple ci-dessous, sélectionner uniquement la colonne MOIS depuis la table des ventes.
SELECT MOIS FROM dbo.VENTES

Exemple de requête SELECT * FROM qui affiche toutes les colonnes de la table
D’autre part, dans cet exemple, la requête affiche toutes les colonnes de la table, soit MOIS et MONTANT.
SELECT * FROM dbo.VENTES

Ecrire une requête SELECT WHERE avec SQL Server ? Cet exemple de requête T-SQL SELECT WHERE montre la syntaxe SQL Server 2012 de base.
La clause WHERE permet de filtrer les données en ajoutant une ou plusieurs conditions et donc de n’afficher que les lignes de la table qui correspondent à la condition.
La clause WHERE en SQL est certainement la clause LMD la plus utilisée dans le domaine des bases de données. LMD signifie Langage de Manipulation des Données, soit le langage utilisé pour la manipulation des données et non les objets eux-mêmes.
Script SELECT SQL Server avec la clause WHERE pour filtrer les données
Pour afficher le numéro, le nom et la ville du client dont le nom est exactement MAMMADOU:
SELECT NOCLIENT, NOM, VILLE FROM dbo.CLIENTS WHERE NOM = 'MAMMADOU';
Exemple de requête de sélection de données avec la clause WHERE et un opérateur OR
L’opérateur OR est un OU logique. Pour afficher les clients dont le nom est MAMMADOU ou alors tous les clients rattachés à la ville de Lyon.
Noter que la clause OR permet de mixer des conditions sur différentes colonnes et ainsi de filtrer précisément les données de la table.
SELECT NOCLIENT, NOM, VILLE FROM dbo.CLIENTS WHERE NOM = 'MAMMADOU' OR VILLE = 'Lyon';
Requête T-SQL avec une clause WHERE et un opérateur “Différent de”
Pour afficher une liste de tous les clients dont le nom est différent de MAMMADOU. Cet exemple de requête utilise le mot clef étoile : *.
Le mot clef SLECT * affiche toutes les colonnes de la table. Le mot clef SELECT étoile, aussi appelé “SELECT STAR” en Anglais, ou permet d’afficher toutes les colonnes sans les nommer explicitement.
SELECT * FROM dbo.CLIENTS WHERE NOM <> 'MAMMADOU';
Noter qu’une bonne pratique SQL Server est de ne pas utiliser le mot clef SELECT *. Surtout dans les programmes ou scripts où les colonnes évoluent.
En effet, si un nom de colonne change alors le programme ne reconnait plus la colonne. Sauf si le programme gère les noms de colonnes de manière dynamique.
Enfin, cet article explique et décompose des requêtes SQL Server de sélection de données basiques.
Pour aller plus loin, apprendre la gestion des tables comme la création d’une table ou encore la modification d’une table avec Alter Table avec des requêtes T-SQL.
Soyez le premier à commenter