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

การเลือกค่าในลำดับที่กำหนดเองจากคอลัมน์อื่นในตาราง MySQL ด้วยแบบสอบถามเดียว


สำหรับสิ่งนี้ คุณสามารถใช้ IN()

ให้เราสร้างตารางก่อน:

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

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

mysql> แทรกลงในค่า DemoTable727 ('Chris', 45) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable727 ('Robert', 89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที )mysql> แทรกลงในค่า DemoTable727 ('Carol',94); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DemoTable727 ('David',93); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable727 ('Mike',78); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable727 ('แซม', 67); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)

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

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

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

<ก่อนหน้า>+---------+-------+| ชื่อ | คะแนน |+---------+-------+| คริส | 45 || โรเบิร์ต | 89 || แครอล | 94 || เดวิด | 93 || ไมค์ | 78 || แซม | 67 |+-------+-------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกค่าในลำดับที่กำหนดเองจากคอลัมน์อื่นในตาราง MySQL ด้วยแบบสอบถามเดียว:

mysql> เลือกคะแนนจาก DemoTable727 โดยที่ Name IN('Robert','David','Sam');

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

<ก่อนหน้า>+-------+| คะแนน |+-------+| 89 || 93 || 67 |+-------+3 แถวในชุด (0.00 วินาที)