สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial Python MySQL

LM29PYTHON MYSQL LM30PYTHON MYSQL CREATE DATABASE LM31PYTHON MYSQL CREATE TABLE LM32PYTHON MYSQL INSERT INTO TABLE LM33PYTHON MYSQL SELECT FROM LM34PYTHON MYSQL WHERE LM35PYTHON MYSQL ORDER BY LM36PYTHON MYSQL DELETE FROM BY LM37PYTHON MYSQL DROP TABLE LM38PYTHON MYSQL UPDATE TABLE LM39PYTHON MYSQL LIMIT LM40PYTHON MYSQL JOIN

Python MySQL Join

เรียนเขียนโปรแกรมง่ายๆกับExpert Programing Tutor ในบท Python MySQL
ในบทนี้เราจะเรียนรู้เรื่องการรวมสองตารางขึ้นไป นักเรียนสามารถรวมแถวจากสองตารางขึ้นไปโดยยึดตาม
คอลัมน์ที่เกี่ยวข้องโดยใช้คำสั่ง JOIN พิจารณาว่านักเรียนมีตาราง "๊User" และตาราง "Products"
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' }

สองตารางนี้สามารถรวมกันได้โดยใช้ฟิลด์ fav ของuserและฟิลด์โค้ด Product
ตัวอย่าง
รวม UserและProductเพื่อดูชื่อProductที่ผู้ใช้ชื่นชอบ

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="",
  database="myept"
)
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)

ผลลัพธ์

C:\Users\My Name>python demo_mysql_inner_join.py
('John', 'Chocolate Heaven')
('Peter', 'Chocolate Heaven')
('Amy', 'Tasty Lemon')

- INNER JOIN − แสดงผลข้อมูลที่มีค่าทั้ง 2 table เหมือนกันใน column ที่ระบุ (Default)
- LEFT JOIN − แสดงผลข้อมูลของ table ทางซ้ายทั้งหมด (table 1) และ ข้อมูลของ table ทางขวาที่ตรงเงื่อนไข (table 2)
ตัวอย่าง
หากนักเรียนต้องการแสดงuserทั้งหมดแม้ว่าพวกเขาไม่มีproductโปรดให้ใช้คำสั่ง LEFT JOIN

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  passwd="mypassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  LEFT JOIN products ON users.fav = products.id"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

ผลลัพธ์

C:\Users\My Name>python demo_mysql_left_join.py
('John', 'Chocolate Heaven')
('Peter', 'Chocolate Heaven')
('Amy', 'Tasty Lemon')
('Hannah', None)
('Michael', None)

- RIGHT JOIN − แสดงผลข้อมูลของ table ทางซ้ายที่ตรงเงื่อนไข (table 1) และ ข้อมูลของ table ทางขวาทั้งหมด (table 2)
    หากนักเรียนต้องการส่งคืนproductทั้งหมดและUserที่มีพวกเขาเป็นที่ชื่นชอบแม้ว่าจะไม่มีuserที่มีพวกเขาเป็นรายการโปรดให้ใช้คำสั่ง RIGHT JOIN
ตัวอย่าง
เลือกproductทั้งหมดและuserที่มีพวกเขาเป็นที่ชื่นชอบ

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="myusername",
  passwd="mypassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT \
  users.name AS user, \
  products.name AS favorite \
  FROM users \
  RIGHT JOIN products ON users.fav = products.id"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

ผลลัพธ์

C:\Users\My Name>python demo_mysql_right_join.py
('John', 'Chocolate Heaven')
('Peter', 'Chocolate Heaven')
('Amy', 'Tasty Lemon')
(None, 'Vanilla Dreams')

หมายเหตุ:ฮันนาห์และไมเคิลที่ไม่มีproductโปรดจะไม่รวมอยู่ในผลลัพธ์
แปลจาก
https://www.w3schools.com/python/python_mysql_join.asp
 



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา