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

การดึงข้อมูลหลายค่าใน MySQL ด้วยเงื่อนไข OR

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

ตัวอย่างการใช้งาน

สร้างตารางพนักงาน:

mysql> CREATE TABLE DemoTable1421 (
    -> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName VARCHAR(20),
    -> EmployeeSalary INT
    -> );

เพิ่มข้อมูลตัวอย่าง:

mysql> INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES ('Chris', 10000);
mysql> INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES ('Bob', 15000);
mysql> INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES ('David', 8000);
mysql> INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES ('Carol', 8500);
mysql> INSERT INTO DemoTable1421 (EmployeeName, EmployeeSalary) VALUES ('Mike', 14500);

ดูข้อมูลทั้งหมด:

mysql> SELECT * FROM DemoTable1421;
+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris        |          10000 |
|          2 | Bob          |          15000 |
|          3 | David        |           8000 |
|          4 | Carol        |           8500 |
|          5 | Mike         |          14500 |
+------------+--------------+----------------+

ค้นหาข้อมูลที่ตรงกับเงื่อนไขใดเงื่อนไขหนึ่ง (ID=1 หรือ ชื่อ David หรือ เงินเดือน 14500):

mysql> SELECT * FROM DemoTable1421 
    -> WHERE EmployeeId = 1 OR EmployeeName = 'David' OR EmployeeSalary = 14500;

ผลลัพธ์:

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris        |          10000 |
|          3 | David        |           8000 |
|          5 | Mike         |          14500 |
+------------+--------------+----------------+

คำแนะนำเพิ่มเติม

  • ใช้ OR เมื่อต้องการให้ตรงกับเงื่อนไขอย่างน้อยหนึ่งข้อ
  • ใช้ AND เมื่อต้องการให้ตรงกับทุกเงื่อนไขพร้อมกัน
  • สามารถรวม OR และ AND ได้โดยใช้วงเล็บเพื่อจัดกลุ่มเงื่อนไข
  • สำหรับการค้นหาค่าในชุดข้อมูล ใช้ IN() แทนจะสะดวกกว่า (เช่น WHERE EmployeeId IN (1,3,5))