ใช่ สำหรับ MySQL นี้มาพร้อมกับ NOT IN.
ไวยากรณ์มีดังนี้
เลือก *จาก yourTableName โดยที่ yourColumnName ไม่อยู่ใน (1,2,7);
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้
mysql> สร้างตาราง User_informations -> ( -> UserId int, -> UserName varchar(20) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.47 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert
แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า User_informations (12,'Maxwell');Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า User_informations (7,'David');Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที )mysql> แทรกลงในค่า User_informations (1,'Ramit'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.36 วินาที) mysql> แทรกลงในค่า User_informations (10,'Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า User_informations (2,'Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า User_informations (14, 'Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรก ลงในค่า User_informations(6,'Mike');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงใน User_informations ค่า(4,'Robert');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังนี้
mysql> เลือก *จาก User_informations;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+---------+----------+| 12 | แม็กซ์เวลล์ || 7 | เดวิด || 1 | รมิท || 10 | บ๊อบ || 2 | แครอล || 14 | แซม || 6 | ไมค์ || 4 | Robert |+-------+----------+8 แถวในชุด (0.00 วินาที)ต่อไปนี้คือการใช้งานสิ่งที่คุณถามโดยใช้ NOT IN()
แบบสอบถามมีดังนี้
mysql> เลือก *จาก User_informations โดยที่ UserId ไม่อยู่ใน (1,2,7);
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+---------+----------+| 12 | แม็กซ์เวลล์ || 10 | บ๊อบ || 14 | แซม || 6 | ไมค์ || 4 | Robert |+-------+----------+5 แถวในชุด (0.00 วินาที)