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

Langage SQL Discussion :

debutant: null values


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut debutant: null values
    Bonjour,

    je voudrais inclure les valeurs null dans le resultat de ma requete:

    table employee:

    EID NAME SUPERVISOR SALARY
    1 john null 1500
    2 mary john 1800
    3 mike mary 2100

    je cherche le nom des employee dont le salaire est inferieur a 2000 en voulant conserver toutes les colonnes, hors la ligne john est automatiquement supprimee.

    que puis-je faire pour re-afficher la ligne 1 john null 1500?

    Merci

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    et quelle requête as tu fais?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    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 902
    Points : 51 646
    Points
    51 646
    Billets dans le blog
    6
    Par défaut
    Utilisez la prédicat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE maColonne IS NULL
    Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/null/

    A +

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci pour vos reponses. Lorsque j utilise "is null", apparement il fait un produit cartesien, il me rend:

    EID EMPLOYEE SURNAME ESALARY E2.EID,0 SUPERVISOR
    ------- ------------------- ---------- --------------------- ----
    5830001 FALDOS 1500 5830009 ALI
    5830001 FALDOS 1500 5830010 AMPO
    5830001 FALDOS 1500 5830001 FALDOS
    5830001 FALDOS 1500 5830002 OLLEY
    5830001 FALDOS 1500 5830003 AIKI
    5830001 FALDOS 1500 5830004 MONDAY
    5830001 FALDOS 1500 5830005 TRIOE
    5830001 FALDOS 1500 5830006 OUEP
    5830001 FALDOS 1500 5830007 TAUTOU
    5830001 FALDOS 1500 5830008 QWACK

    au lieu de:
    EID EMPLOYEE SURNAME ESALARY E2.EID,0 SUPERVISOR
    ------- ------------------- ---------- --------------------- ----
    5830001 FALDOS 1500 null null

    J ai essaye d utiliser coalesce mais ca ne marche pas.

    Voici ma requete (complete, je sais je peux la faire plus simple mais c etait pour utiliser un minus):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT E1.EID,E1.ESURNAME AS "EMPLOYEE SURNAME", E1.ESALARY, 
    E2.EID, E2.ESURNAME AS "SUPERVISOR SURNAME"
    FROM EMPLOYEE E1,EMPLOYEE E2
    WHERE  E2.EID = E1.SUPERVISOR
    MINUS
    (SELECT E3.EID,E3.ESURNAME, E3.ESALARY, E4.EID,E4.ESURNAME
     FROM EMPLOYEE E3, EMPLOYEE E4
     WHERE E4.EID = E3.SUPERVISOR AND E3.ESALARY > ANY (SELECT ESALARY
                                                       FROM EMPLOYEE
                                                       WHERE UPPER(ESURNAME) LIKE 'A%')
     UNION
     SELECT DISTINCT E5.EID,E5.ESURNAME, E5.ESALARY, E6.EID,E6.ESURNAME
     FROM EMPLOYEE E5, EMPLOYEE E6
     WHERE E6.EID = E5.SUPERVISOR AND UPPER(E5.ESURNAME) LIKE 'A%'
     ) 
    go

  5. #5
    Scorpi0
    Invité(e)
    Par défaut
    Salut,
    Je pense qu'il te faut une jointure externe pour résoudre ton souci de null :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    with EMPLOYEE as
    (
      select 1 as EID, 'john' as esurname, null as supervisor, 1500 as esalary from dual union all
      select 2 as EID, 'mary' as esurname, 1 as supervisor, 1800 as esalary from dual union all
      select 3 as EID, 'mike' as esurname, 2 as supervisor, 2100 as esalary from dual
    )
    SELECT E1.EID,E1.ESURNAME AS "EMPLOYEE SURNAME", 
           E1.ESALARY, 
           E2.ESURNAME AS "SUPERVISOR SURNAME"
    FROM EMPLOYEE E1 left outer join EMPLOYEE E2 on E2.EID = E1.SUPERVISOR
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1	john	1500	null
    2	mary	1800	john
    3	mike	2100	mary

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    trop fort !!!

    Merci a tous pour avoir pris le temps de m aider, c est vraiment super de pouvoir apprendre comme ca.

    A++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/06/2012, 00h16
  2. [Cobol / DB2] Multiple insert et null value
    Par punkoff dans le forum DB2
    Réponses: 3
    Dernier message: 06/01/2010, 09h47
  3. C8 query studio Null value
    Par mhamedbj dans le forum Cognos
    Réponses: 8
    Dernier message: 25/08/2008, 09h56
  4. Problème Cast avec NULL values
    Par WwiloO dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/10/2005, 10h49
  5. Insert null Value
    Par Soulama dans le forum Bases de données
    Réponses: 6
    Dernier message: 06/10/2005, 16h51

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