Devdit
 

SQL ค้นหาหลายฟิลด์ ด้วย AND และ OR ร่วมกับ WHERE

1.2K

สอนเขียนคำสั่ง SQL ค้นหาหลายฟิลด์ ด้วยการใช้คำสั่ง AND และ OR ร่วมกับคำสั่ง WHERE โดยตัวอย่างนำ AND และ OR มาสร้างเงื่อนไขเพิ่มเติมสำหรับการค้นหาข้อมูลจากหลายฟิลด์ โดยคำสั่ง AND คือเงื่อนไขเป็นจริงทั้งคู่ก็จะเป็นจริง และคำสั่ง OR คือเงื่อนไขข้อใดเป็นจริงก็จะเป็นจริงทันที สามารถเขียนคำสั่งได้ดังนี้

 

ตัวอย่าง SQL ค้นหาหลายฟิลด์ ด้วย AND

SELECT * FROM book WHERE ( name LIKE '%SQL%' ) AND ( price >= 140 );

ผลลัพธ์

+----+------------+--------+
| id | name       | price  |
+----+------------+--------+
|  4 | SQL        | 140.00 |
|  6 | SQL Server | 220.00 |
+----+------------+--------+
2 rows in set (0.000 sec)

คำอธิบาย

คำสั่งด้านบนค้นหาจาก 2 ฟิลด์ คือ name และ price โดยมีเงื่อนไข คือ ( name LIKE '%SQL%' ) หมายความว่า แสดงข้อมูลที่มีคำว่า SQL อยู่ในข้อมูล และใช้ AND เชื่อมเงื่อนไขที่สอง คือ ( price >= 140 ) หมายความว่า แสดงข้อมูลที่มีราคามากว่าหรือเท่ากับ 140 ซึ่งจะแสดงเฉพาะข้อมูลที่มีเงื่อนไขเป็นจริงทั้งคู่ เพราะใช้คำสั่ง AND ได้ผลลัพธ์ทั้งหมด 2 rows

 

ตัวอย่าง SQL ค้นหาหลายฟิลด์ ด้วย OR

SELECT * FROM book WHERE ( name LIKE '%SQL%' ) OR ( price >= 140 );

ผลลัพธ์

+----+------------+--------+
| id | name       | price  |
+----+------------+--------+
|  1 | Java       | 199.00 |
|  3 | MySQL      | 130.00 |
|  4 | SQL        | 140.00 |
|  5 | Linux      | 180.00 |
|  6 | SQL Server | 220.00 |
|  7 | Windows    | 220.00 |
+----+------------+--------+
6 rows in set (0.001 sec)

คำอธิบาย

คำสั่งนี้ใช้ OR ในการเชื่อมเงื่อนไขเพื่อค้นหาหลายฟิลด์ นั้นหมายความว่า ถ้ามีคำว่า SQL อยู่ใน name ก็จะแสดง หรือ ถ้า price มากกว่าหรือเท่ากับ 140 ก็จะแสดงเหมือนกัน ขอให้เงื่อนไขเป็นจริงอย่างใดอย่างหนึ่งก็จะแสดง ทำให้ได้ผลลัพธ์ทั้งหมด 6 rows

เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ