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

MySQL UNION SELECT และ IN clause ในแบบสอบถามเดียว


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

mysql> สร้างตาราง DemoTable1 -> ( -> StudentId int, -> StudentName varchar(20) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.24 วินาที)

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

mysql> แทรกลงในค่า DemoTable1 (210,'Adam'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 210 | อดัม |+-----------+-------------+1 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อสร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable2 -> ( -> StudentId int, -> StudentName varchar(20) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

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

mysql> แทรกลงในค่า DemoTable2 (100,'Chris'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.30 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 100 | คริส |+----------+-------------+1 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามสำหรับ MySQL UNION SELECT และ IN อนุประโยค -

mysql> เลือก StudentName จาก -> ( -> เลือก StudentId,StudentName จาก DemoTable1 -> UNION -> เลือก StudentId,StudentName จาก DemoTable2 -> ) tbl -> โดยที่ StudentId IN (210,100);

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

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