Python Tutorial

Rejoindre Python MySQL


Joindre deux tables ou plus

Vous pouvez combiner des lignes de deux tables ou plus, en fonction d’une colonne liée entre elles, à l’aide d’une instruction JOIN.

Considérez que vous avez une table “utilisateurs” et une table “produits”:

utilisateurs

{ id : 1, nom : ‘John’, fav : 154},
{ id : 2, nom : ‘Peter’, fav : 154},
{ id : 3, nom : ‘Amy’, fav : 155},
{ id : 4, nom : ‘Hannah’, fav :},
{ id : 5, nom : ‘Michael’, fav :}

des produits

{ id : 154, nom : ‘Chocolate Heaven’ },
{ id : 155, nom : ‘Tasty Lemons’ },
{ id : 156, nom : ‘Vanilla Dreams’ }

Ces deux tables peuvent être combinées en utilisant les fav domaine et produits’
id champ.

Exemple

Rejoignez les utilisateurs et les produits pour voir le nom du produit préféré des utilisateurs :

importer mysql.connector

mydb = mysql.connector.connect(
hôte=”localhost”,

utilisateur=”ton nom d’utilisateur“,
mot de passe=”votre mot de passe“,
base de données=”mabase de données”
)

moncurseur = madb.curseur()

sql = “SELECT
utilisateurs.nom AS utilisateur,
produits.nom AS favori
DES utilisateurs
INNER JOIN produits ON users.fav = products.id”

moncurseur.execute(sql)

monrésultat = moncurseur.fetchall()

pour x dans monrésultat :
impression(x)

Exemple d’exécution »

Note: Vous pouvez utiliser JOIN au lieu de INNER JOIN. Ils vous donneront tous les deux le même résultat.



JOINT GAUCHE

Dans l’exemple ci-dessus, Hannah et Michael ont été exclus du résultat, car INNER JOIN affiche uniquement les enregistrements où il existe une correspondance.

Si vous souhaitez afficher tous les utilisateurs, même s’ils n’ont pas de produit favori, utilisez l’instruction LEFT JOIN :

Exemple

Sélectionnez tous les utilisateurs et leur produit préféré :

sql = “SELECT
utilisateurs.nom AS utilisateur,
produits.nom AS favori
DES utilisateurs
PRODUITS DE JOINTURE GAUCHE SUR users.fav = products.id”

Exemple d’exécution »


JOINDRE À DROITE

Si vous souhaitez renvoyer tous les produits et les utilisateurs qui les ont comme favoris, même si aucun utilisateur ne les a comme favoris, utilisez l’instruction RIGHT JOIN :

Exemple

Sélectionnez tous les produits et le ou les utilisateurs qui les ont comme favoris :

sql = “SELECT
utilisateurs.nom AS utilisateur,
produits.nom AS favori
DES utilisateurs
RIGHT JOIN produits ON users.fav = products.id”

Exemple d’exécution »

Note: Hannah et Michael, qui n’ont pas de produit préféré, ne sont pas inclus dans le résultat.


#Rejoindre #Python #MySQL

Related Articles

Back to top button