---
title: Python MySQL Join
description: "## Join Two or More Tables – **Хоёр ба түүнээс дээш хүснэгтийг нэгтгэх** You can combine rows from two or more tables, based on a related column between them, by using a JOIN statement. Consider you have a “users” table…"
url: "https://apprentice.mn/docs/python-mysql-join/"
updated: "2024-08-05"
category: Python
---

# Python MySQL Join

## Join Two or More Tables – **Хоёр ба түүнээс дээш хүснэгтийг нэгтгэх**

You can combine rows from two or more tables, based on a related column between them, by using a JOIN statement.

Consider you have a “users” table and a “products” table:

Та “хэрэглэгчид” хүснэгт болон “бүтээгдэхүүн” хүснэгттэй гэж үзье.

users

Хэрэглэгч

`{ id: 1, name: 'John', fav: 154},{ id: 2, name: 'Peter', fav: 154},{ id: 3, name: 'Amy', fav: 155},{ id: 4, name: 'Hannah', fav:},{ id: 5, name: 'Michael', fav:}`

products

Бүтээгдэхүүн

`{ id: 154, name: 'Chocolate Heaven' },{ id: 155, name: 'Tasty Lemons' },{ id: 156, name: 'Vanilla Dreams' }`

These two tables can be combined by using users’ `fav` field and products’ `id` field.

Эдгээр хоёр хүснэгтийг хэрэглэгчийн `fav` талбар болон бүтээгдэхүүний `id` талбараар нэгтгэж болно.

#### Example – Жишээ

Join users and products to see the name of the users favorite product:

`import mysql.connectormydb = mysql.connector.connect(  host="localhost",  user="yourusername",  password="yourpassword",  database="mydatabase")mycursor = mydb.cursor()sql = "SELECT \  users.name AS user, \  products.name AS favorite \  FROM users \  INNER JOIN products ON users.fav = products.id"mycursor.execute(sql)myresult = mycursor.fetchall()for x in myresult:  print(x)`

**Note:** You can use JOIN instead of INNER JOIN. They will both give you the same result.

## LEFT JOIN

In the example above, Hannah, and Michael were excluded from the result, that is because INNER JOIN only shows the records where there is a match.

If you want to show all users, even if they do not have a favorite product, use the LEFT JOIN statement:

##### Example

Select all users and their favorite product:

`sql = "SELECT \  users.name AS user, \  products.name AS favorite \  FROM users \  LEFT JOIN products ON users.fav = products.id"`

## RIGHT JOIN

If you want to return all products, and the users who have them as their favorite, even if no user have them as their favorite, use the RIGHT JOIN statement:

##### Example

Select all products, and the user(s) who have them as their favorite:

`sql = "SELECT \  users.name AS user, \  products.name AS favorite \  FROM users \  RIGHT JOIN products ON users.fav = products.id"`

**Note:** Hannah and Michael, who have no favorite product, are not included in the result.

            [https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join)[https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join](https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join)[https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join](https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fpython-mysql-join%2F&linkname=Python%20MySQL%C2%A0Join)[https://www.addtoany.com/share](https://www.addtoany.com/share)
