Share tips.

tips.html

คำสั่งสอบถาม SELECT ซ้อน SELECT

คำสั่ง SELECT ใช้สำหรับ สอบถามข้อมูลของฟิลด์ในตารางกับ SELECT กับอีกตารางหนึ่ง

รูปแบบคำสั่ง
/* แสดงข้อมูลใน Table1 ของฟิลด์ filed_1, filed_2 จนถึง filed_n ที่ field_2 มีค่าเท่ากับฟิลด์ field_1 ของ Table2 */
SELECT field_1,field_2,field_n FROM `ชื่อตาราง1` WHERE field_2 = (SELECT field_1 FROM `ชื่อตาราง2`);

ตัวอย่าง
SELECT customer_id, customer_name, province_name FROM `customers` WHERE province = (SELECT province_code FROM `province`);

จะได้ผลลัพธ์ตามตัวอย่าง

customer_id customer_name province_name
1 นายมานะ สุขใจ กรุงเทพมหานคร
2 นางสาวมานี เจริญบุญ กรุงเทพมหานคร
3 นางสมศรี เติมลาภ นครปฐม
4 นายบุญมี ทองคำขาว นครปฐม
5 นางศรีบุญเรือน อำนวยชัย นนทบุรี

แสดงข้อมูลทุกฟิลด์ของตาราง customers โดยจะแบ่ง customer แยกแต่ละจังหวัดที่มีข้อมูลโดยอ้างอิงในตาราง province เป็นหลัก

ตัวอย่าง
SELECT customer_id, customer_name, province_name FROM `customers` WHERE province = (SELECT province_code FROM `province` WHERE province_code = '10' OR province_code = '12');

/* หรือ */

SELECT customer_id, customer_name, province_name FROM `customers` WHERE province = (SELECT province_code FROM `province` WHERE province_code IN('10','12'));

customer_id customer_name province_name
1 นายมานะ สุขใจ กรุงเทพมหานคร
2 นางสาวมานี เจริญบุญ กรุงเทพมหานคร
5 นางศรีบุญเรือน อำนวยชัย นนทบุรี

 แสดงข้อมูลเฉพาะฟิลด์ชื่อ province_code ที่มีค่าเท่ากับ 10, 12 เท่านั้น

19 มิถุนายน 2556 16:32:37