취미와 밥줄사이
[Python] MySQL Join 본문
두 개 이상의 테이블 조인
- JOIN 문을 사용하여 둘 이상의 테이블 사이의 관련 열을 기반으로 행을 결합할 수 있습니다.
-
# users table { 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 table { id: 154, name: 'Chocolate Heaven' }, { id: 155, name: 'Tasty Lemons' }, { id: 156, name: 'Vanilla Dreams' }
- 두 테이블은 user의 fav필드와 product의 필드를 사용하여 결합할 수 있다.
-
# Join users and products to see the name of the users favorite product import mysql.connector mydb = mysql.connector.connect( host="localhost", user="your username", password="your password", 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)
LEFT JOIN
- 위의 예에서 Hnanah와 Michael은 결과에서 제외되었는데, 이는 INNERT JOIN이 일치하는 레코드만 표시하기 때문입니다.
-
# 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
- 모든 상품을 반품하고 싶은 경우, 즐겨찾기로 등록한 사용자가 즐겨찾기에 등록한 사용자가 없더라도 RIGHT JOIN 문을 사용한다.
-
# 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"
REFERENCE
https://www.w3schools.com/python/python_mysql_join.asp
'DB' 카테고리의 다른 글
[Python] MongoDB Create Database (0) | 2021.10.28 |
---|---|
[Python] MongoDB (0) | 2021.10.28 |
[Python] MySQL Limit (0) | 2021.10.28 |
[Python] MySQL Update Table (0) | 2021.10.28 |
[Python] MySQL Drop Table (0) | 2021.10.28 |