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

เขียนแบบสอบถาม MySQL เดียวเพื่อแยกบันทึกและแสดงค่า NULL


ในการตรวจสอบระเบียนที่เป็น NULL ให้ใช้ IS NULL อย่างไรก็ตาม หากต้องการแยกระเบียนใดๆ ออก ให้ใช้คำสั่ง NOT IN ใช้ทั้งสองอย่างในข้อความค้นหาเดียวกัน

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

mysql> สร้างตาราง DemoTable793 ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.81 วินาที)

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

mysql> แทรกลงในค่า DemoTable793(StudentName) ('Adam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable793 (StudentName) ('Bob'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที) mysql> แทรกลงในค่า DemoTable793 (StudentName) (null) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable793 (StudentName) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที )mysql> แทรกลงในค่า DemoTable793 (StudentName) ('Robert'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (1.03 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1 | อดัม || 2 | บ๊อบ || 3 | NULL || 4 | คริส || 5 | Robert |+-----------+-------------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแยกระเบียนและแสดงค่า NULL -

mysql> เลือก *จาก DemoTable793 โดยที่ StudentName NOT IN('Chris') หรือ StudentName IS NULL;

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

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