Site icon บริษัท โค๊ดบี จำกัด

วิธีใช้งาน UNION ใน MySQL เพื่อควบรวมข้อมูลหลายตาราง

วิธีใช้งาน UNION ใน MySQL-2

วิธีใช้งาน UNION ใน MySQL-2

&NewLine;<figure class&equals;"wp-block-video"><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">คำสั่ง UNION ใน MySQL เป็นคำสั่งที่ใช้สำหรับการรวมข้อมูลในตารางฐานข้อมูล ที่มีความคล้ายกัน ตั้งแต่ 2 ตารางขึ้นไป โดยผลลัพธ์ที่ได้ จะอ้างอิงตามชื่อ Field หรือ Column ของ Table หลัก หรืออยู่ภายใต้ข้อมูลของตารางที่ SELECT ไม่ใช่ตารางที่ทำการ UNION<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;100px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<h4 class&equals;"wp-block-heading">ตัวอย่างและวิธีใช้งาน คำสั่ง UNION ใน MySQL<&sol;h4>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>เพื่อให้เห็นภาพชัดเจนและเข้าใจง่ายขึ้น ให้ทดลองสร้างตารางฐานข้อมูลมา 2 ตาราง คือ ตาราง <strong>companies<&sol;strong> และ ตาราง <strong>suppliers<&sol;strong> และเพิ่มข้อมูลเข้าไปในทั้ง 2 ตาราง โดยใช้คำสั่งดังนี้ครับ<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>สร้าง Table สำหรับทดสอบ<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">CREATE TABLE &grave;companies&grave; &lpar;&NewLine; &grave;company&lowbar;id&grave; int&lpar;11&rpar; NOT NULL&comma;&NewLine; &grave;company&lowbar;name&grave; varchar&lpar;100&rpar; NOT NULL&NewLine;&rpar; ENGINE&equals;InnoDB DEFAULT CHARSET&equals;utf8&semi;&NewLine;&NewLine;INSERT INTO &grave;companies&grave; &lpar;&grave;company&lowbar;id&grave;&comma; &grave;company&lowbar;name&grave;&rpar; VALUES&NewLine;&lpar;1&comma; 'company 1'&rpar;&comma;&NewLine;&lpar;2&comma; 'company 2'&rpar;&comma;&NewLine;&lpar;3&comma; 'company 3'&rpar;&semi;&NewLine;&NewLine;CREATE TABLE &grave;suppliers&grave; &lpar;&NewLine; &grave;supplier&lowbar;id&grave; int&lpar;11&rpar; NOT NULL&comma;&NewLine; &grave;supplier&lowbar;name&grave; varchar&lpar;100&rpar; NOT NULL&NewLine;&rpar; ENGINE&equals;InnoDB DEFAULT CHARSET&equals;utf8&semi;&NewLine;&NewLine;INSERT INTO &grave;suppliers&grave; &lpar;&grave;supplier&lowbar;id&grave;&comma; &grave;supplier&lowbar;name&grave;&rpar; VALUES&NewLine;&lpar;1&comma; 'supplier 1'&rpar;&comma;&NewLine;&lpar;2&comma; 'supplier 2'&rpar;&comma;&NewLine;&lpar;3&comma; 'supplier 3'&rpar;&semi;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;100px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>หลังจากที่เราได้สร้างตารางฐานข้อมูลทั้ง 2 เรียบร้อยแล้ว เราจะทดสอบการรวมข้อมูลของทั้ง 2 ตาราง โดยให้ตาราง companies เป็นตารางหลัก และทำการรวมข้อมูล &lpar; UNION &rpar; จากตาราง suppliers ซึ่งสามารถเขียนคำสั่งได้ดังนี้<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><strong>ทดสอบ Query ข้อมูล<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">SELECT &ast; &sol;&ast; ใช้การ select แบบ &ast; ตารางที่ union เข้ามาต้องมีจำนวนฟิลด์เท่ากันกับตารางหลัก &ast;&sol;&NewLine;FROM suppliers&NewLine;UNION&NewLine;SELECT &ast;&NewLine;FROM companies<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ผลลัพธ์ที่ได้ของคำสั่งด้านบน จะสังเกตุเห็นว่า ข้อมูลของตารางที่ถูก UNION จะมารวบอยู่ในตารางหลัก ภายในชื่อ column name ของตารางหลัก คือ รวม suppliers&lowbar;id มาไว้ใน company&lowbar;id และ รวม suppliers&lowbar;name มาไว้ใน company&lowbar;name<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;10&sol;วิธีใช้งาน-UNION-ใน-MySQL-1&period;png" alt&equals;"" class&equals;"wp-image-5569" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;10&sol;วิธีใช้งาน-UNION-ใน-MySQL-1&period;png" data-full-size&equals;"786x632" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;100px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>ข้อควรรู้สำหรับคำสั่ง UNION คือ ทุกตารางที่ UNION กับตารางหลักจะต้องมีจำนวน Fields ที่เท่ากันกับตารางหลัก คำสั่ง SELECT &ast; จะไม่สามารถใช้งานได้ทันที กรณีที่ตารางใด ตารางหนึ่ง มี Fields มากกว่า ตารางหลัก เราสามารถแก้ปัญหานี้ได้ ด้วยการกำหนด SELECT Fields1&comma;Fields2 ให้กับแต่ละตาราง ตามตัวอย่างด้านล่างครับ<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code lang&equals;"sql" class&equals;"language-sql">SELECT company&lowbar;id&comma; company&lowbar;name &sol;&ast; จำนวนฟิลด์ของตารางหลักคือ 2 &ast;&sol;&NewLine;FROM companies&NewLine;UNION&NewLine;SELECT supplier&lowbar;id&comma; supplier&lowbar;name &sol;&ast; จำนวนฟิลด์ของตาราง UNION ก็ต้องมี 2 ฟิลด์ด้วย &ast;&sol;&NewLine;FROM suppliers<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;100px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">สรุป คำสั่ง UNION เหมาะใช้สำหรับการรวมผลข้อมูลจากตารางที่มีความคล้ายคลึงกับตารางหลัก ตัวอย่างเช่น ตารางหลัก คือ companies ต้องการนำข้อมูลจากตาราง supplier และตาราง investor ซึ่งมีการเก็บข้อมูลในลักษณะเดียวกัน รวบเป็นข้อมูลชุดเดียวกัน เพื่อนำไปจัดเรียง และ แสดงผลในหน้าเดียวกัน ลักษณะเดียวกัน<&sol;p>&NewLine;

Exit mobile version