บทช่วยสอนMySQL

หน้าแรกของ MySQL แนะนำ MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL และหรือไม่ใช่ MySQL สั่งซื้อโดย MySQL INSERT INTO ค่า NULL ของ MySQL MySQL UPDATE MySQL ลบ MySQL LIMIT MySQL MIN และ MAX MySQL COUNT, AVG, SUM MySQL ชอบ MySQL Wildcards MySQL IN MySQL ระหว่าง MySQL นามแฝง MySQL เข้าร่วม เข้าร่วม MySQL ภายใน MySQL ซ้ายเข้าร่วม MySQL ขวาเข้าร่วม MySQL CROSS เข้าร่วม MySQL เข้าร่วมด้วยตนเอง MySQL UNION กลุ่ม MySQL โดย MySQL มี MySQL EXISTS MySQL ใด ๆ ทั้งหมด MySQL INSERT SELECT กรณี MySQL ฟังก์ชั่น MySQL Null ความคิดเห็น MySQL ตัวดำเนินการ MySQL

ฐานข้อมูลMySQL

MySQL สร้าง DB MySQL Drop DB MySQL สร้างตาราง MySQL Drop Table MySQL Alter Table ข้อจำกัดของ MySQL MySQL ไม่ว่าง MySQL Unique คีย์หลัก MySQL MySQL Foreign Key MySQL Check MySQL Default MySQL สร้างดัชนี MySQL Auto Increment MySQL Dates มุมมอง MySQL

การอ้างอิงMySQL

ประเภทข้อมูล MySQL ฟังก์ชัน MySQL

ตัวอย่างMySQL

ตัวอย่าง MySQL แบบทดสอบ MySQL แบบฝึกหัด MySQL

MySQL เข้าร่วม


MySQL เข้าร่วมตาราง

อนุ ประโยคJOINใช้เพื่อรวมแถวจากตารางตั้งแต่สองตารางขึ้นไป โดยยึดตามคอลัมน์ที่เกี่ยวข้องระหว่างกัน

ลองดูการเลือกจากตาราง "คำสั่งซื้อ":

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

จากนั้นดูการเลือกจากตาราง "ลูกค้า":

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

โปรดสังเกตว่าคอลัมน์ "CustomerID" ในตาราง "Orders" หมายถึง "CustomerID" ในตาราง "Customers" ความสัมพันธ์ระหว่างสองตารางข้างต้นคือคอลัมน์ "รหัสลูกค้า"

จากนั้น เราสามารถสร้างคำสั่ง SQL ต่อไปนี้ (ที่มี INNER JOIN) ซึ่งเลือกระเบียนที่มีค่าที่ตรงกันในทั้งสองตาราง:

ตัวอย่าง

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

และมันจะออกมาในลักษณะนี้:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

ประเภทการเข้าร่วมที่รองรับใน MySQL

  • INNER JOIN: ส่งกลับระเบียนที่มีค่าที่ตรงกันในทั้งสองตาราง
  • LEFT JOIN: ส่งกลับระเบียนทั้งหมดจากตารางด้านซ้าย และระเบียนที่ตรงกันจากตารางด้านขวา
  • RIGHT JOIN: ส่งกลับระเบียนทั้งหมดจากตารางด้านขวา และระเบียนที่ตรงกันจากตารางด้านซ้าย
  • CROSS JOIN: ส่งกลับระเบียนทั้งหมดจากทั้งสองตาราง

เข้าร่วม MySQL ภายใน  MySQL ซ้ายเข้าร่วม  MySQL ขวาเข้าร่วม  MySQL CROSS เข้าร่วม


ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

แทรกส่วนที่ขาดหายไปในส่วนJOINคำสั่งเพื่อรวมสองตารางเข้าด้วยกันOrdersและCustomersใช้CustomerIDเขตข้อมูลในตารางทั้งสองเป็นความสัมพันธ์ระหว่างสองตาราง

SELECT *
FROM Orders
LEFT JOIN Customers
=
;