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

จะค้นหาระเบียนทั้งหมดที่ไม่ได้อยู่ใน set array ด้วย MySQL ได้อย่างไร


สำหรับสิ่งนี้ คุณสามารถใช้ฟังก์ชัน NOT IN() ได้

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

mysql> สร้างตาราง DemoTable718 ( Id int, FirstName varchar(100), Age int); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable718 (101,'Chris', 26); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> ลงในค่า DemoTable718 (102, 'Robert', 24); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable718 (103, 'David', 27); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable718 (104, 'Mike', 28); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable718 (105,'Sam',23); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

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

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

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

<ก่อนหน้า>+------+-----------+------+| รหัส | ชื่อจริง | อายุ |+------+-----------+------+| 101 | คริส | 26 || 102 | โรเบิร์ต | 24 || 103 | เดวิด | 27 || 104 | ไมค์ | 28 || 105 | แซม | 23 |+------+-----------+------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาระเบียนทั้งหมดที่ไม่ได้อยู่ในอาร์เรย์ที่ตั้งไว้ -

mysql> เลือก *จาก DemoTable718 โดยที่ Id NOT IN('101','103','104');

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

<ก่อนหน้า>+------+-----------+------+| รหัส | ชื่อจริง | อายุ |+------+-----------+------+| 102 | โรเบิร์ต | 24 || 105 | แซม | 23 |+------+-----------+------+2 แถวในชุด (0.00 วินาที)