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

 MySQL Discussion :

Liaison entre tables


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Par défaut Liaison entre tables
    Bonjour à tous,

    Je me pose une question, est-il possible de lier plusieurs tables grâce à un champ (portant le même nom ou pas) sans avoir à écrire manuellement les relations ?

    Une requête basique pour exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
         `contacts`.`nom`, 
         `contacts`.`prenom`, 
         `adresses`.`code_postal` 
    FROM 
         `contacts`, 
         `adresses` 
    WHERE 
         `contacts`.`id` = `adresses`.`id`
    Pouvoir remplacer la partie "WHERE `contacts`.`id` = `adresses`.`id`" par une fonction peut-être, ou autre, stipulant les liaisons ?

    Merci à vous .

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Bonjour,


    la norme SQL prévoie les jointures naturelles.

    Mais d'une façon générale il est déconseillé de les utiliser, car elles peuvent engendrer des erreurs non voulues.

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Par défaut
    Merci punkoff,

    Je ne connaissais pas (évidemment sinon je n'aurais pas posé la question), le terme que tu as employé m'a permis de faire une recherche, et je suis tombé sur un petit sujet sur lequel je vais adapter mon exemple au cas où certaines personne seraient intéressées !

    Jointure naturelle sans indiquer les champs (doit avoir un champ de même nom dans chaque table) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
         `contacts`.`nom`, 
         `contacts`.`prenom`, 
         `adresses`.`code_postal` 
    FROM 
         `contacts` 
    NATURAL JOIN 
         `adresses`;
    Jointure naturelle en indiquant un champs identique au deux tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
         `contacts`.`nom`, 
         `contacts`.`prenom`, 
         `adresses`.`code_postal` 
    FROM 
         `contacts` 
    JOIN 
         `adresses` 
    USING(`id`);
    Jointure naturelle en indiquant les champs à lier (inutile à mes yeux donc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
         `contacts`.`nom`, 
         `contacts`.`prenom`, 
         `adresses`.`code_postal` 
    FROM 
         `contacts` 
    JOIN 
         `adresses` 
    ON(`contacts`.`id_contact` = `adresses`.`id_adresse`);
    Bon, reste à voir effectivement si c'est intéressant.

  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
    22 009
    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 : 22 009
    Billets dans le blog
    6
    Par défaut
    J'en rigole d'avance !!!!

    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
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 51
    Par défaut
    Bonjour SQLpro,

    Je veux bien un peu plus de précision sur ce qui vous fait rire .

  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
    22 009
    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 : 22 009
    Billets dans le blog
    6
    Par défaut
    Mais la jointure naturelle, cet extraordinaire miroir aux alouettes pour benêts !

    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/ * * * * *

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

Discussions similaires

  1. [VB.net] liaison entre table et textbox's
    Par collaud_vb dans le forum Windows Forms
    Réponses: 10
    Dernier message: 25/09/2006, 14h27
  2. [Access 2003]Problème de liaison entre table
    Par steeves5 dans le forum Access
    Réponses: 3
    Dernier message: 12/06/2006, 10h40
  3. [DEB] Probleme de liaison entre tables
    Par ip203 dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2006, 08h16
  4. Liaison entre tables
    Par Thierry69800 dans le forum Access
    Réponses: 1
    Dernier message: 21/11/2005, 00h19
  5. Problèmes de liaisons entre tables ...
    Par Mangun dans le forum Access
    Réponses: 2
    Dernier message: 28/09/2005, 12h35

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