สำหรับสิ่งนี้ ให้ใช้ UNION ALL
ให้เราสร้างตารางก่อน:
mysql> สร้างตาราง DemoTable729 ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100), MySQLMarks int, CMarks int, JavaMarks int);Query OK, 0 แถวได้รับผลกระทบ (0.40 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert:
mysql> แทรกลงใน DemoTable729(StudentName,MySQLMarks,CMarks,JavaMarks) values('Chris',94,67,75);Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน DemoTable729(StudentName,MySQLMarks, CMarks,JavaMarks) ค่า ('Robert',45,99,54);แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน DemoTable729 (StudentName,MySQLMarks,CMarks,JavaMarks) ค่า ('David',57,89 ,43);ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select:
mysql> เลือก *จาก DemoTable729;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+-------------+-----------+------- ++-----------+| รหัสนักศึกษา | ชื่อนักเรียน | MySQLMarks | CMarks | JavaMarks |+-----------+-------------+-----------+-------- +-----------+| 1 | คริส | 94 | 67 | 75 || 2 | โรเบิร์ต | 45 | 99 | 54 || 3 | เดวิด | 57 | 89 | 43 |+-----------+-------------+-----------+------- +-----------+3 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงคะแนนนักเรียนในคอลัมน์เดียว:
mysql> เลือก StudentId,StudentName,'MySQL' เป็น SubjectName, MySQLMarks เป็น Scorefrom DemoTable729UNION ALLselect StudentId,StudentName, 'C' เป็น SubjectName, CMarks as Scorefrom DemoTable729UNION ALLselect StudentId,StudentName, 'Java' as ScoreName, Javas;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+-------------+-------------+------ -+| รหัสนักศึกษา | ชื่อนักเรียน | SubjectName | คะแนน |+-----------+-------------+-------------+------- +| 1 | คริส | MySQL | 94 || 2 | โรเบิร์ต | MySQL | 45 || 3 | เดวิด | MySQL | 57 || 1 | คริส | ค | 67 || 2 | โรเบิร์ต | ค | 99 || 3 | เดวิด | ค | 89 || 1 | คริส | ชวา | 75 || 2 | โรเบิร์ต | ชวา | 54 || 3 | เดวิด | ชวา | 43 |+-----------+-------------+-------------+------- +9 แถวในชุด (0.00 วินาที)