The AND operator displays a record
if both the first condition AND the second condition are true.
The OR operator displays a record if either the
first condition OR the second condition is true.คำสั่ง WHERE ครั้งที่แล้วเป็นการดึงข้อมูลเพียงแค่เงื่อนไขเดียว แต่ในบางครั้งเราต้องการดึงข้อมูลหลายๆเงื่อนไข ดังนั้นคำสั่ง SQL จึงมีตัวเชื่อม AND กับ OR มาให้ใช้ แปลกันตรงตัวนะครับ
AND แปลว่า "และ" ในการใช้งานก็คือการที่ต้องการเงื่อนไขที่ถูกต้องทั้งสองตัว
OR แปลว่า "หรือ" ใช้ในการที่ต้องการเงื่อนไขที่ถูกต้องอย่างใดอย่างนึงก็ได้
เหมือนเดิมครับ เราใช้ฐานข้อมูล Northwind กับตารางชื่อว่า Customers
CustomerID
|
CustomerName
|
ContactName
|
Address
|
City
|
PostalCode
|
Country
|
1
|
Alfreds Futterkiste
|
Maria Anders
|
Obere Str. 57
|
Berlin
|
12209
|
Germany
|
2
|
Ana Trujillo Emparedados y helados
|
Ana Trujillo
|
Avda. de la Constitución 2222
|
México D.F.
|
05021
|
Mexico
|
3
|
Antonio Moreno Taquería
|
Antonio Moreno
|
Mataderos 2312
|
México D.F.
|
05023
|
Mexico
|
4
|
Around the Horn
|
Thomas Hardy
|
120 Hanover Sq.
|
London
|
WA1 1DP
|
UK
|
5
|
Berglunds snabbköp
|
Christina Berglund
|
Berguvsvägen 8
|
Luleå
|
S-958 22
|
Sweden
|
ตัวอย่างที่ 1
เราต้องการข้อมูลลูกค้าทั้งหมดที่มาจากประเทศ "Germany" และมาจากเมือง "Berlin" จากตาราง Customers
คำสั่ง SQL จะเป็นแบบนี้ครับ
SELECT * FROM Customers {เลือกจากตาราง Customers ด้วยคำสั่ง SELECT ทั้งหมด ก็คือ * }
WHERE Country='Germany' AND City='Berlin'; {จากคอลัมน์ Country ที่มีค่าเป็น Germany กับ City ที่มีค่าเป็น Berlin}
WHERE Country='Germany' AND City='Berlin'; {จากคอลัมน์ Country ที่มีค่าเป็น Germany กับ City ที่มีค่าเป็น Berlin}
ดังนั้นค่าที่ได้จะต้องมาจากทั้ง Country ที่เป็น Germany และ City ที่มาจาก Berlin
CustomerID
|
CustomerName
|
ContactName
|
Address
|
City
|
PostalCode
|
Country
|
||
1
|
Alfreds Futterkiste
|
Maria Anders
|
Obere Str. 57
|
Berlin
|
12209
|
Germany
|
ตัวอย่างที่ 2
เราต้องการดึงข้อมูลลูกค้าทั้งหมดที่มาจาก เมือง Berlin หรือ München จากตาราง Customers
คำสั่ง SQL จะเป็นแบบนี้ครับ
SELECT * FROM Customers
WHERE City='Berlin' OR City='München';
WHERE City='Berlin' OR City='München';
ก็จะได้ข้อมูลนี้ครับ
CustomerID
|
CustomerName
|
ContactName
|
Address
|
City
|
PostalCode
|
Country
|
1
|
Alfreds Futterkiste
|
Maria Anders
|
Obere Str. 57
|
Berlin
|
12209
|
Germany
|
25
|
Frankenversand
|
Peter Franken
|
Berliner Platz 43
|
München
|
80805
|
Germany
|
München ก็ได้
คำสั่ง SQL จะเป็นแบบนี้ครับ
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');
ข้อมูลที่เราได้จะเป็นแบบนี้ครับ
CustomerID
|
CustomerName
|
ContactName
|
Address
|
City
|
PostalCode
|
Country
|
1
|
Alfreds Futterkiste
|
Maria Anders
|
Obere Str. 57
|
Berlin
|
12209
|
Germany
|
25
|
Frankenversand
|
Peter Franken
|
Berliner Platz 43
|
München
|
80805
|
Germany
|