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

จะค้นหาค่าที่ขาดหายไประหว่างสองตาราง MySQL ได้อย่างไร


หากต้องการค้นหาค่าที่ขาดหายไประหว่างสองตาราง MySQL ให้ใช้ NOT IN ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1(Value int);Query OK, 0 แถวได้รับผลกระทบ (0.56 วินาที)

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

mysql> แทรกลงในค่า DemoTable1(1); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable1 (2); Query OK, 1 แถวที่ได้รับผลกระทบ (0.28 วินาที)mysql> แทรกลงในค่า DemoTable1 ( 5); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable1 (6) ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable1 (8) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที)

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

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

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 1 || 2 || 5 || 6 || 8 |+-------+5 แถวในชุด (0.00 วินาที)

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

mysql> สร้างตาราง DemoTable2(Value int);ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.19 วินาที)

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

mysql> แทรกลงในค่า DemoTable2(1); Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable2 (2); Query OK, 1 แถวที่ได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable2 ( 3); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable2 (4) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)

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

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

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 1 || 2 || 3 || 4 |+-------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาค่าที่ขาดหายไประหว่างสองตาราง MySQL -

mysql> เลือกค่าจาก DemoTable1 โดยที่ Value ไม่อยู่ใน (เลือกค่าจาก DemoTable2);

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

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 5 || 6 || 8 |+-------+3 แถวในชุด (0.07 วินาที)