ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การ SELECT (ซีเล็คท์) ข้อมูลด้วย SELECT ซ้อน SELECT 

เป็นการ SELECT ข้อมูลแบบซับซ้อนมากขึ้น หรือ ที่เรียกว่า SELECT ซ้อน SELECT 

โดยจะมี Main (เมน) Query (คิวรี่)เป็นตัว SELECT หลัก เเล้วมี Subquery (ซับ คิวรี่) อยู่ภายใต้ Main Query

รูปแบบคำสั่ง

SELECT ชื่อคอลัมน์
FROM ชื่อตารางข้อมูล
WHERE เงื่อนไข
       (SELECT ชื่อคอลัมน์
        FROM ชื่อตารางข้อมูล
        WHERE เงื่อนไข);

***การทำงานของ SELECT ซ้อน SELECT จะทำการประมวลจาก SELECT ย่อยก่อน

>>ต้องการทราบชื่อนักศึกษาที่มีอายุเท่ากับ 'เยาวภา'

ตัวอย่างการใช้งาน (แบบยังไม่ซ้อน SELECT)

ตารางข้อมูลนักศึกษา
ตารางข้อมูลนักศึกษา

-เราต้องทราบอายุของเยาวภาก่อน

SELECT Age
FROM Student
WHERE Student_Fname=‘เยาวภา';

การเเสดงผล

แสดงผลอายุของเยาวภา
แสดงผลอายุของเยาวภา

-เมื่อเราทราบผลเเล้วว่าเยาวภามีอายุ 21

SELECT Student_Fname, Student_Lname
FROM Student
WHERE Age=’21';

การเเสดงผล

แสดงผลชื่อและนามสกุลนักศึกษาที่มีอายุ 21
แสดงผลชื่อและนามสกุลนักศึกษาที่มีอายุ 21

จาก Code ข้างต้น

SELECT Age
FROM Student
WHERE Student_Fname=‘เยาวภา';
SELECT Student_Fname, Student_Lname
FROM Student
WHERE Age='21';

นำมาเขียนคำสั่งให้อยู่ในรูป SELECT ซ้อน SELECT ได้ดังนี้

SELECT Student_Fname, Student_Lname
FROM Student
WHERE Age=
      (SELECT Age
       FROM Student
       WHERE Student_Fname=‘เยาวภา');

** จะเห็นว่าหากนำมาเขียนคำสั่งให้อยู่ในรูปแบบ SELECT ซ้อน SELECT จะนำเอาขั้นตอนที่ 1 มาเขียนอยู่ใน Subquery เพราะต้องดำเนินการก่อน

สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง MySQL ต่างๆ

โดย : http://www.mindphp.com