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

จะทำแบบสอบถาม SELECT แบบเรียกซ้ำใน MySQL ได้อย่างไร


สำหรับการเลือกแบบเรียกซ้ำ ให้เราดูตัวอย่าง ขั้นแรกเราจะสร้างตาราง คำสั่ง CREATE ใช้สำหรับสร้างตาราง

mysql> สร้างตาราง tblSelectDemo -> ( -> id int, -> name varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

ตอนนี้ เราจะแทรกระเบียนในตาราง “tblSelectDemo”

mysql> แทรกลงในค่า tblSelectDemo (1,'John');Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า tblSelectDemo (2,'Carol'); Query OK, 1 แถวได้รับผลกระทบ (0.09 วินาที )mysql> แทรกลงในค่า tblSelectDemo(3,'Smith');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า tblSelectDemo(4,'David');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า tblSelectDemo (5,'Bob');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

เพื่อแสดงรายการทั้งหมด

mysql> SELECT *จาก tblSelectDemo;

นี่คือผลลัพธ์

<ก่อนหน้า>+------+-------+| id | ชื่อ |+------+-------+| 1 | จอห์น || 2 | แครอล || 3 | สมิธ || 4 | เดวิด || 5 | Bob |+------+-------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นไวยากรณ์สำหรับ SELECT แบบเรียกซ้ำ

mysql> เลือก var1.id เป็น id, @sessionName:=var1.Name เป็น NameofStudent -> จาก (เลือก * จาก tblSelectDemo ตามลำดับโดย id desc) var1 -> join -> (เลือก @sessionName:=4)tmp -> โดยที่ var1.id =@sessionName;

นี่คือผลลัพธ์

<ก่อนหน้า>+------+----------------+| id | ชื่อนักเรียน |+------+----------------+| 4 | เดวิด |+------+----------------+1 แถวในชุด (0.00 วินาที)