IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Requête sélection et égalité dans les colonnes sélectionnées


Sujet :

Développement SQL Server

  1. #1
    FMJ
    FMJ est déconnecté
    Membre averti
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    416
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 416
    Points : 356
    Points
    356
    Par défaut Requête sélection et égalité dans les colonnes sélectionnées
    Bonjour,

    Je m'excuse d'avance de cette question béotienne mais en faisant bêtement un copier-coller, j'ai eu la surprise non seulement de ne pas avoir d'erreur mais en plus un résultat.
    Bref, la requête toute bête serait la suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CHAMP1='TOTO' FROM TABLE1
    Et bien sûr j'obtiens TOTO quelque soit la valeur de la colonne CHAMP1

    D'où ma question : quelle est l'utilité de cette syntaxe qui est quelque peu trompeuse ? Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Cette syntaxe permet de nommer une colonne. Elle est le strict équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'TOTO' AS CHAMP1 FROM TABLE1;
    C'est une syntaxe propre à SQL Server.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    FMJ
    FMJ est déconnecté
    Membre averti
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    416
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 416
    Points : 356
    Points
    356
    Par défaut
    Bonjour Frédéric et merci pour ta réponse.
    "De nommer", en fait tu veux dire "de valuer" une colonne ?
    Actuellement je suis sous SQL Server 2k (...), cette syntaxe perdure toujours ? Je la trouve non seulement sans intérêt mais en plus pernicieuse !

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par FMJ Voir le message
    Bonjour Frédéric et merci pour ta réponse.
    "De nommer", en fait tu veux dire "de valuer" une colonne ?
    Non, je dis bien nommer une colonne.

    prenons un autre exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT TABLE_NAME AS NOM_DE_TABLE
    FROM   INFORMATION_SCHEMA.TABLES;
     
    SELECT NOM_DE_TABLE = TABLE_NAME 
    FROM   INFORMATION_SCHEMA.TABLES;


    Actuellement je suis sous SQL Server 2k (...), cette syntaxe perdure toujours ? Je la trouve non seulement sans intérêt mais en plus pernicieuse !
    Oui !

    Elle est effectivement à éviter dans le sens ou elle est héritée de Sybase du temps ou le AS n'existait pas encore dans la norme SQL (donc avant 1986....).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    FMJ
    FMJ est déconnecté
    Membre averti
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    416
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 416
    Points : 356
    Points
    356
    Par défaut
    OK, merci pour l'explication.

    Ah un détail : à la base il me semblait bien que SQL Server provenait du rachat de Sybase mais ... j'ai lu dernièrement que Sybase avait été acheté par SAP. Or en vérifant je vois que Sybase fait toujours dans la base de données ???!!!
    J'ai un peu mieux compris en lisant cet historique : https://fr.wikipedia.org/wiki/Sybase

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    De la même façon, MySQL a été créée par une entreprise de nom MySQLAB, puis racheté par SUN et enfin Oracle à racheté SUN....

    Conclusion MySQL est un produit Oracle !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Alignement dans les colonnes d'une zône de liste
    Par AndréPe dans le forum IHM
    Réponses: 2
    Dernier message: 22/08/2007, 16h22
  2. Datagridview, valeur dans les colonnes
    Par orzra dans le forum C#
    Réponses: 2
    Dernier message: 15/06/2007, 09h58
  3. Se déplacer dans les colonnes
    Par deaqu1 dans le forum Excel
    Réponses: 1
    Dernier message: 25/03/2007, 16h55
  4. Réponses: 2
    Dernier message: 24/08/2006, 11h02
  5. Réponses: 1
    Dernier message: 29/08/2004, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo