2006/Mar/07

ไหนๆก็เข้าเรื่อง Database แล้ว คาใจมานานกับไอ้ Join ทั้งหลายแหล่ เคยใช้แต่ INNER JOIN ตัวอื่นไม่เคยใช้เลยแฮะ ทำความรู้จักกับมันหน่อย

Employees:

Employee_ID Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari

Orders:

Prod_ID Product Employee_ID
234 Printer 01
657 Table 03
865 Chair 03

INNER JOIN :

SELECT Employees.Name, Orders.Product
FROM Employees
INNER JOIN Orders ON
Employees.Employee_ID=Orders.Employee_ID

Result

Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair

LEFT JOIN :

SELECT Employees.Name, Orders.Product
FROM Employees
LEFT JOIN Orders ON
Employees.Employee_ID=Orders.Employee_ID

Result

Name Product
Hansen, Ola Printer
Svendson, Tove  
Svendson, Stephen Table
Svendson, Stephen Chair
Pettersen, Kari  

RIGHT JOIN :

SELECT Employees.Name, Orders.Product
FROM Employees
RIGHT JOIN Orders ON
Employees.Employee_ID=Orders.Employee_ID

Result

Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair

SELF JOIN :

SELECT Orders1.Product, Orders2.Employee_ID
FROM Orders1.Orders, Orders2.Orders
Orders1.Prod_ID=Order2.Prod_ID

Result

Product Employee_ID
Printer 01
Table 03
Chair 03

OUTER JOIN :

LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL JOIN

Ref : http://www.w3schools.com/sql/sql_join.asp

Comment

Comment:

Tweet


ตอนนี้ทำโปรเจกให้หัวข้อเบิกเงินสดย่อยนะค่ะมีปัญหาที่ว่า"""
อยากได้ข้อมูล ของการJOIN ที่ละเอียดมากกว่านี้นะค่ะ

ตอนนี้ติดที่ว่าจะJOIN Table ยังไงให้ได้ข้อมูลfieldของTableที่เรียกมาตรงกัน
อย่างเช่น

เรียกดูข้อมูลจาก Table member กับTable datacashและTable myadd
ซึ้งmemberสร้างเป็นฐานเก็บข้อมูลสมาชิก ซึ้งแสดงให้เห็นถึงข้อมูลผู้สมัครใช้ระบบ
ซึ้งจะเรียกข้อมูลmember มาJOINกับ datacash
ฐานtable datacashเป็นtableที่แสดงการขอเบิกเงินในแต่ละจำนวนจากผู้เบิกคนไหน ใครเป็นผู้รับเงิน ซึ้งจะJOIN เรียก Table member field 'firstname' ส่วน datacash field'price'ให้ข้อมูลชื่อกับราคา
เรียกค่าออกมาได้ตรงกันนะค่ะต้องทำอย่างไร
#1 by มธุรส (58.147.82.131) At 2008-09-03 11:48,