Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แทรกค่าจากตารางแรกไปยังตารางที่สองโดยใช้คำสั่ง SELECT สองคำสั่งในการสืบค้น MySQL เดียว


ในการแทรกค่าจากตารางแรกไปยังตารางอื่นโดยใช้คำสั่ง SELECT สองคำสั่ง ให้ใช้ SUBQUERY สิ่งนี้จะช่วยให้คุณใช้แบบสอบถาม MySQL เดียวเพื่อรับผลลัพธ์ในตารางที่สอง ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1( Name varchar(100), Score int);Query OK, 0 แถวได้รับผลกระทบ (1.30 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1 ('Chris', 45); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable1 ('Bob',78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที )mysql> แทรกลงในค่า DemoTable1 ('David',98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1 ('Carol', 89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) 

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable1;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| คริส | 45 || บ๊อบ | 78 || เดวิด | 98 || แครอล | 89 |+-------+-------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง

mysql> สร้างตาราง DemoTable2( StudentName varchar(100), StudentScore int);Query OK, 0 แถวได้รับผลกระทบ (0.58 วินาที)

ให้เราเขียนแบบสอบถาม MySQL เพื่อแทรกค่าจากตารางแรกไปยังตารางที่สองโดยใช้คำสั่ง SELECT สองคำสั่ง -

mysql> แทรกลงในค่า DemoTable2(StudentName,StudentScore) ((เลือกชื่อจาก DemoTable1 โดยที่ Score=98) (เลือกคะแนนจาก DemoTable1 โดยที่ Name='David')); ตกลง ตกลง 1 แถวที่ได้รับผลกระทบ (0.30 วินาที) 

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable2;+-------------+--------------+| ชื่อนักเรียน | StudentScore |+-------------+-------------+| เดวิด | 98 |+-------------+-------------+1 แถวในชุด (0.00 วินาที)