취미와 밥줄사이

[Python] MySQL Join 본문

DB

[Python] MySQL Join

취미와 밥줄사이 2021. 10. 28. 11:03

 

두 개 이상의 테이블 조인


  • 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

 

Python MySQL Join

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

'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