WinOptics

D. Introduction SELECT

WinOptics
  1. I. GENERALITE
    1. A. Le Matériel
    2. B. Différence d'utilisation entre les versions de Windows
    3. C. Paramétrage de Windows Seven
  2. II. INSTALLATION
    1. A. Installation du Poste Principal
    2. B. Déblocage du Mode Démonstration
    3. C. Installation d'un Poste Secondaire
    4. D. Problème d'Installation
    5. E. Désinstallation
    6. F. Mises à jour
  3. III. MISE EN ROUTE
    1. A. Architecture de l'Interface
    2. B. Principes de Base
    3. C. Utilisation des Fichiers
    4. D. Mise en Page
  4. IV. GESTION DES CLIENTS
    1. A. Création d'un Client
    2. B. Saisie d'une Fiche Monture
    3. C. Enregistrement de la Vente
    4. D. Editions
    5. E. Devis
    6. F. Lentilles
    7. G. Optométrie
    8. H. Photos et Shémas
    9. I. Notes et SAV
  5. V. GESTION DU STOCK
    1. A. Création d'un Article
    2. B. Fournisseurs et Marques
    3. C. Etiquettes
    4. D. Inventaire et Contrôle d'Inventaire
    5. E. Dépréciation du Stock
  6. VI. GESTION DES VENTES
    1. A. Fichier des Ventes
    2. B. Fichier des Documents
  7. VII. GESTION DES COMMANDES
    1. A. Fichier des Commandes
    2. B. Gestionnaire de Commandes
  8. VIII. CAISSE
    1. A. Pré-requis
    2. B. Initilisation
    3. C. Vente en l'Etat
    4. D. Vente depuis un Dossier Client
    5. E. Mouvements et Remise en Banque
    6. F. Etat de la Caisse
    7. G. Impression et Rapports
    8. H. Modifications et Corrections
    9. I. Liste des Impayés
  9. IX. TIERS PAYANT
    1. En France
      1. A. Paramétrage de la Sécurité Sociale
      2. B. Paramétrage des Mutuelles
      3. C. Saisie d'une Fiche Client
      4. D. Calculs des Parts Sécurité Sociale et Complémentaire
      5. E. Impression des Documents
      6. F. Télétransmission des Feuilles de Soins
      7. G. Suivi des retours de Paiement
    2. En Belgique
      1. A. Paramétrage de la Sécurité Sociale
      2. B. Utilisation lors de la Vente
      3. C. Impression des Documents
      4. D. Suivi des retours de Paiement
  10. X. CATALOGUES FOURNISSEURS
    1. A. Introduction
    2. B. Tarifs Verres
    3. C. Tarifs Lentilles
    4. D. Calcul des Prix
    5. E. Ordre de Sélection
    6. F. Import / Export de Catalogues
  11. XI. PARAMETRAGE DU LOGICIEL
    1. A. Magasin
    2. B. Paramètres Régionaux
    3. C. Documents et Rapports
    4. D. Réseau
    5. E. Sécurité
    6. F. Services
    7. G. Autres Options
    8. H. Tables Paramétrables
  12. XII. OUTILS
    1. A. Agenda
    2. B. Calculatrices
    3. C. Exécution du Code SQL
    4. D. Nettoyage des Fichiers
    5. E. Conversion du Taux de TVA
  13. XIII. SERVICES
    1. A. Envoi de Fax
    2. B. Envoi de Courrier Electronique
    3. C. Envoi de SMS
  14. XIV. STATISTIQUES
    1. A. Généralités
    2. B. Evolution des Ventes
  15. XV. REQUETES ET PUBLIPOSTAGE
    1. A. Qu'est ce qu'une Requête ?
    2. B. Le Fichier des Requêtes ?
    3. C. Utilisation des Requêtes Prédéfinies
    4. D. Exporter le Résultat d'une Requête
    5. E. Création de Nouvelles Requêtes
    6. F. Modifier une Requête
    7. G. Application : Le Mailing
  16. XVI. ANNEXES
    1. ANNEXE 1 : MAINTENANCE
      1. A. Sauvegarde
      2. B. Telemaintenance
      3. C. Réparation de la Base de Données
    2. ANNEXE 2 : REFERENCE DU LANGAGE SQL
      1. A. Introduction
      2. B. Définitions
      3. C. Notions et Règles
      4. D. Introduction SELECT
      5. E. Introduction DELETE
      6. F. Introduction UPDATE
      7. G. Prédicats
      8. H. Fonctions
      9. I. Jointure
    3. ANNEXE 3 : CENTRALE D'ACHAT - RETROCESSION
      1. A. Principe
      2. B. Mise en Place
      3. C. Saisie des Rétrocessions
      4. D. Synchronisation du Stock
    4. ANNEXE 4 : EXEMPLES D'IMPRESSIONS
  17. Résultat

L'instruction SELECT est certainement l'instruction la plus utilisée en SQL, c’est donc celle-ci qui sera présentée en premier. Cette instruction permet de faire une sélection d'un ensemble d'enregistrements en provenance d'une ou plusieurs tables.


1. Syntaxe de base :

SELECT <champ1>, <champ2>, etc.
FROM
<nom table>


Par exemple, pour sélectionner tous les noms et prénoms du fichier Clients, la commande suivante sera utilisée :

SELECT Nom, Prénom
FROM Clients



Le symbole * permet d'indiquer que l'on veut sélectionner tous les champs de la table :

SELECT *
FROM Clients


2. La clause FROM :

Elle permet d'indiquer que la commande porte sur la table dont le nom est indiqué juste après :

SELECT *
FROM Articles


Le FROM permet d'indiquer qu'il faut afficher les informations provenant de la table Articles. Cette clause est obligatoire dans toute interrogation d'une base de données.


3. La clause WHERE :

La clause WHERE permet d'indiquer une condition. Le résultat sera d'afficher uniquement les enregistrements répondant à la condition spécifiée.


SELECT *
FROM Articles
WHERE Prix


Cette commande signifie : "afficher tous les articles dont le prix est inférieur à 2000" (quelle que soit la monnaie).


SELECT Nom
FROM Fournisseurs
WHERE Localité = "Bruxelles"


Cette commande signifie : "afficher le nom de tous les fournisseurs situés à Bruxelles".


Il est important de noter que les valeurs alphanumériques, contrairement aux valeurs numériques, doivent être inscrites entre guillemets pour les différencier l'une de l'autre.


4. La clause ORDER BY :

Cette clause permet de spécifier l'ordre dans lequel les informations seront affichées. Il est possible de voir apparaître les enregistrements dans l'ordre ascendant (option ASC, par défaut : de A à Z) ou descendant (option DESC : de Z à A). Au cas où il y aurait des synonymes (ce qui arrive très souvent lorsque les informations représentent des noms), il est possible de trier les enregistrements sur plusieurs colonnes.


SELECT Nom, Prénom
FROM Clients
ORDER BY Nom


Cette commande affichera la liste des noms et prénoms de la table clients ordonnée sur le nom de manière ascendante.


SELECT Marque, Modèle, Prix
FROM Articles
ORDER BY Marque, Prix DESC


Cette commande permet d'afficher les informations Marque, Modèle et Prix de la table Articles de la forme suivante : par ordre croissant sur la marque et, s'il y a égalité, par ordre décroissant sur le prix.


5. La clause GROUP BY :

Cette clause permet, comme son nom l'indique, de grouper les enregistrements d'une table ayant même valeur. Généralement associée aux fonctions statistiques (SUM, AVG, etc.) qui serons vues plus tard, elle permet d'effectuer des totaux pour les lignes de même valeur.


SELECT Marque, SUM(Prix)
FROM Articles
GROUP BY Marque


Cette instruction permet de grouper les enregistrements de la table Articles par marque et d'effectuer la somme des prix de tous les modèles de la marque (la fonction SUM sera développée dans les paragraphes suivants).


Utilisée sans les fonctions statistiques, la clause GROUP BY permet simplement de regrouper (au moment de l'affichage) les lignes ayant les mêmes informations.


SELECT Nom, Adresse
FROM Clients
GROUP BY Nom, Adresse


Cette instruction affichera les colonnes Nom et Adresse de la table Clients en supprimant les doublons (c'est-à-dire un même nom pour une même adresse).


6. La clause HAVING :

Cette clause est généralement utilisée si la clause GROUP BY a été spécifiée. En effet, HAVING permet de définir une condition sur l'ensemble des lignes regroupées par la clause GROUP BY, au même titre que la clause WHERE permet de définir une condition sur les enregistrements de la table.

SELECT Marque, SUM(Prix)
FROM Articles
GROUP BY Marque
HAVING SUM(Prix) > 10000


La clause HAVING permet de spécifier la condition suivante : "la somme des prix des différents modèles d'une même marque doit être supérieure à 10000".


7. L’attribut AS :

L'attribut AS permet d'utiliser un autre nom de champ que celui de la table ou préciser un nom de colonne si celui-ci ne ressort pas de l’expression utilisée pour générer ce champ.


SELECT Nom AS [Nom du fournisseur], Localité AS Ville, Tél
FROM Fournisseurs


Remplace l'intitulé des colonnes Nom et Localité par Nom du fournisseur et Ville, le nom de la colonne Tél reste inchangé.


SELECT Marque, SUM(Prix) AS Total
FROM Articles
GROUP BY Marque
HAVING SUM(Prix) > 10000


Donne le nom souhaité (Total) à la colonne contenant la somme des prix (autrement, l'ordinateur choisi un nom arbitrairement).


8. L’attribut DISTINCT :

Cet attribut permet d'afficher toutes les lignes distinctes de la table. Les informations redondantes ne seront donc pas affichées.

SELECT DISTINCT Marque
FROM Articles


Cette instruction affichera la liste des différentes marques contenue dans le fichier Articles.


9. L’attribut TOP :

Cet attribut retourne un certain nombre d’enregistrements qui se trouvent en haut ou en bas d’une plage déterminée par une clause ORDER BY.

Par exemple pour obtenir le nom des 25 premiers élèves d’une promotion :

SELECT TOP 25 Nom
FROM Etudiants
WHERE [Promotion] = 1994
ORDER BY [Note moyenne] ASC


Si la clause ORDER BY n’est pas utilisée, la requête retournera un ensemble arbitraire de 25 enregistrements à partir de la table Etudiants, qui satisfont à la clause WHERE.

L’attribut TOP n’opère pas de choix entre des valeurs égales. Dans l’exemple ci-dessus, si la vingt-cinquième note la plus élevée est égale à la vingt-sixième, la requête retournera 26 enregistrements.


Il est possible d’utiliser le mot réservé PERCENT pour retourner un certain pourcentage d’enregistrements qui figurent en haut ou en bas d’une plage définie par une clause ORDER BY. Par exemple, au lieu de rechercher les 25 premiers étudiants, il est possible d’obtenir les noms des 10% supérieurs de la promotion :

SELECT TOP 10 PERCENT Prénom, Nom
FROM Etudiants
WHERE [Promotion] = 1994
ORDER BY [Note moyenne] ASC


La valeur qui suit TOP doit être un nombre entier sans signe. TOP n’affecte pas la possibilité de mettre à jour la requête.


10. Combinaison de clauses :

Il est possible de combiner plusieurs clauses à condition de respecter un certain ordre :

  • La clause GROUP BY vient immédiatement après la clause FROM s'il n'existe pas de WHERE, sinon elle vient après cette dernière,
  • La clause HAVING se place toujours après la clause GROUP BY,
  • La clause ORDER BY est toujours la dernière clause dans une commande SELECT,
  • La clause DISTINCT doit toujours se placer avant la liste des colonnes de la table à sélectionner.
Aller à la page
© 2010 WinOptics sarl - All rights reserved