Question mysql LEFT JOIN ¨¨ ^^
Résolu/Fermé
mr05j
Messages postés
295
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
11 mars 2011
-
18 nov. 2010 à 20:15
ROMULUS - 13 juin 2013 à 15:07
ROMULUS - 13 juin 2013 à 15:07
A voir également:
- Question mysql LEFT JOIN ¨¨ ^^
- Mysql download - Télécharger - Bases de données
- Left right chanson été ✓ - Forum Musique / Radio / Clip
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Cents = gettens(left(mid(mynumber, decimalplace + 1) & _ "00", 2)) ✓ - Forum Excel
- Left shift clavier - Forum Jeux vidéo
4 réponses
Dj Nam
Messages postés
327
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
31 janvier 2014
41
18 nov. 2010 à 21:48
18 nov. 2010 à 21:48
Bonjour,
LEFT JOIN sert à retourner la ligne, même s'il n'y a pas de correspondance dans la table de droite (celle avec laquelle tu joint)
Par exemple je m'en suis servi aujourd'hui pour le cas suivant :
J'ai une table 'user' et une table 'address' dans ma table 'user' j'ai un champ 'address_id' clé étrangère faisant référence à la clé primaire 'address_id' de la table 'address'.
Dans mon cas, la ligne de la table 'address' n'existe pas forcément car elle n'est pas automatiquement créée lors de l'inscription du membre. Donc, même s'il n'y a pas de ligne dans cette table, je veux récupérer la ligne de la table 'user'.
Voici donc ma requête :
Ainsi, même sans adresse, on récupère les données du membre.
Si à la place tu mets "INNER JOIN" la requête ne retourne aucun résultat.
Voilà, en espérant avoir été clair, sinon n'hésite pas à demander.
(RIGHT INNER fonctionne de la même manière mais à l'inverse, c'est dans la table jointe que la ligne doit exister .... Je n'en ai personnelement, jamais eu besoin.)
LEFT JOIN sert à retourner la ligne, même s'il n'y a pas de correspondance dans la table de droite (celle avec laquelle tu joint)
Par exemple je m'en suis servi aujourd'hui pour le cas suivant :
J'ai une table 'user' et une table 'address' dans ma table 'user' j'ai un champ 'address_id' clé étrangère faisant référence à la clé primaire 'address_id' de la table 'address'.
Dans mon cas, la ligne de la table 'address' n'existe pas forcément car elle n'est pas automatiquement créée lors de l'inscription du membre. Donc, même s'il n'y a pas de ligne dans cette table, je veux récupérer la ligne de la table 'user'.
Voici donc ma requête :
SELECT user.*, address.* FROM user LEFT JOIN address ON (user.address_id = address.address_id) WHERE user.user_id = 4
Ainsi, même sans adresse, on récupère les données du membre.
Si à la place tu mets "INNER JOIN" la requête ne retourne aucun résultat.
Voilà, en espérant avoir été clair, sinon n'hésite pas à demander.
(RIGHT INNER fonctionne de la même manière mais à l'inverse, c'est dans la table jointe que la ligne doit exister .... Je n'en ai personnelement, jamais eu besoin.)
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 503
19 nov. 2010 à 17:38
19 nov. 2010 à 17:38
Salut.
Encore un qui n'a pas chercher avant de poser sa question.
Je préfère donner des adresses plutôt que d'écrire un long message pour explique ce qui est déjà trouvable sur le Web :
- https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916084-les-jointures-entre-tables
- http://www.siteduzero.com/tutoriel-3-214617-introduction-aux-jointures-sql.html
- https://sql.developpez.com/
Encore un qui n'a pas chercher avant de poser sa question.
Je préfère donner des adresses plutôt que d'écrire un long message pour explique ce qui est déjà trouvable sur le Web :
- https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916084-les-jointures-entre-tables
- http://www.siteduzero.com/tutoriel-3-214617-introduction-aux-jointures-sql.html
- https://sql.developpez.com/
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
19 nov. 2010 à 17:51
19 nov. 2010 à 17:51
avion-f16 toujours en forme comme je peu voir.
L'es-tu suffisamment pour m'aider ?
( https://forums.commentcamarche.net/forum/affich-19882800-js-int-soucis-de-bbcode-regex#p19882800 )
L'es-tu suffisamment pour m'aider ?
( https://forums.commentcamarche.net/forum/affich-19882800-js-int-soucis-de-bbcode-regex#p19882800 )
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
19 nov. 2010 à 03:13
19 nov. 2010 à 03:13
En SQL c'est super utile, une fois que c'est acquis on ne peu plus sens passer.
J'ai des pages web, ou a la base, j'avais de dix a quinze requêtes SQL, avec les jointures c'est finis, d'une fois tu joint toutes les donnée relatives.
Dans l'exemple de Dj Nam :
Ici on sélection TOUT dans user et TOUT dans adresse
A condition que "La le LEFT JOIN joue sont role" user.adress_id est égale a address.address_id
On fois qu'on récupérer il faut choisir a qui est l'adresse WHERE => user.user_id
Ça a l'air barbare comme ça, mais y a des foutu malin derrière MySQL
Perso, j'ai appris via developpez.com ( https://www.google.be/?gws_rd=ssl#sclient=psy&hl=fr&safe=active&q=join%20left%20site%3Amysql.developpez.com/&aq=f&aqi=g5&aql=&oq=&gs_rfai=&pbx=1&fp=1&cad=b )
J'ai des pages web, ou a la base, j'avais de dix a quinze requêtes SQL, avec les jointures c'est finis, d'une fois tu joint toutes les donnée relatives.
Dans l'exemple de Dj Nam :
Ici on sélection TOUT dans user et TOUT dans adresse
A condition que "La le LEFT JOIN joue sont role" user.adress_id est égale a address.address_id
On fois qu'on récupérer il faut choisir a qui est l'adresse WHERE => user.user_id
Ça a l'air barbare comme ça, mais y a des foutu malin derrière MySQL
SELECT user.*, address.* FROM user LEFT JOIN address ON (user.address_id = address.address_id) WHERE user.user_id = 4
Perso, j'ai appris via developpez.com ( https://www.google.be/?gws_rd=ssl#sclient=psy&hl=fr&safe=active&q=join%20left%20site%3Amysql.developpez.com/&aq=f&aqi=g5&aql=&oq=&gs_rfai=&pbx=1&fp=1&cad=b )
mr05j
Messages postés
295
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
11 mars 2011
22
2 déc. 2010 à 21:27
2 déc. 2010 à 21:27
Merci
13 juin 2013 à 15:03
Cordialement
13 juin 2013 à 15:07