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

เราสามารถใช้ LIKE และ OR ร่วมกันใน MySql ได้หรือไม่


คุณสามารถใช้ LIKE กับโอเปอเรเตอร์ OR ซึ่งทำงานเหมือนกับโอเปอเรเตอร์ IN

ให้เราดูไวยากรณ์ของทั้งสองกรณี -

กรณีที่ 1 − ใช้ Like กับตัวดำเนินการ OR

เลือก *จาก yourTableName โดยที่ yourColumnName Like 'Value1' หรือ yourColumnName Like 'Value2' หรือ yourColumnName Like 'Value3'...N

กรณีที่ 2 – การใช้ตัวดำเนินการ IN

เลือก *จาก yourTableName โดยที่ IN(value1,value2,value3,.....N);

เพื่อให้เข้าใจทั้งไวยากรณ์ ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง LikeDemo−> (−> Id varchar(20)−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

ตอนนี้คุณสามารถแทรกระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า LikeDemo ('John123'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า LikeDemo ('Smith205'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรก ลงในค่า LikeDemo ('Bob999'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า LikeDemo ('Carol9091'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า LikeDemo ('Johnson2222 '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า LikeDemo ('David2345'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-------------+| รหัส |+-------------+| John123 || Smith205 || Bob999 || Carol9091 || Johnson2222 || David2345 |+-------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ตัวดำเนินการ Like เดียวกับ OR -

กรณีที่ 1 − ใช้ Like กับตัวดำเนินการ OR

mysql> เลือก *จาก LikeDemo โดยที่ Id Like 'John123%' หรือ Id Like 'Carol9091%' หรือ Id Like 'David2345%';

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------+| รหัส |+-----------+| John123 || Carol9091 || David2345 |+-----------+3 แถวในชุด (0.00 วินาที)

กรณีที่ 2 - การใช้ตัวดำเนินการ IN

แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก LikeDemo โดยที่ Id in('John123','Carol9091', 'David2345');

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------+| รหัส |+-----------+| John123 || Carol9091 || David2345 |+-----------+3 แถวในชุด (0.04 วินาที)