บทความนี้อธิบายวิธีใช้เงื่อนไข AND และ OR ใน SQL Server (Transact-SQL)
มีแบบฝึกหัดแยกต่างหากเกี่ยวกับเงื่อนไข AND และ OR ใน SQL Server แต่นอกจากนี้ เงื่อนไขทั้งสองนี้สามารถใช้ร่วมกับคำสั่ง SELECT, INSERT, UPDATE และ DELETE ได้
เมื่อรวมสองเงื่อนไขนี้เข้าด้วยกัน สิ่งสำคัญคือต้องจำไว้ว่าให้ใช้วงเล็บเพื่อให้ฐานข้อมูลทราบลำดับการดำเนินการแต่ละเงื่อนไข
การรวมไวยากรณ์และเงื่อนไข AND และ OR
WHERE 'điều kiện 1'
AND 'điều kiện 2'
…
OR 'điều kiện n';
ชื่อตัวแปรและค่าตัวแปร
เงื่อนไข 1 เงื่อนไข 2 เงื่อนไข n
มีการประเมินเงื่อนไขเพื่อระบุว่าเรกคอร์ดถูกเลือกหรือไม่
หมายเหตุ
- เงื่อนไข AND และ OR อนุญาตให้ตรวจสอบหลายเงื่อนไขได้
- อย่าลืมลำดับการดำเนินการที่กำหนดโดยวงเล็บ
ตัวอย่างเช่น - คำสั่ง SELECT
SELECT *
FROM nhanvien
WHERE (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id = 75);
คำสั่งนี้จะส่งคืนพนักงานทั้งหมดที่มีนามสกุล Anderson และชื่อ Sarah หรือมี ID 75 วงเล็บจะกำหนดลำดับการดำเนินการตามเงื่อนไข
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE (ho = 'Smith')
OR (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id > 1000 AND ba
ng = 'California');
ในตัวอย่างนี้ ผลลัพธ์จะส่งคืน ID พนักงาน นามสกุล และชื่อถ้าบุคคลนั้นคือ Smith หรือพวกเขาคือ Anderson และชื่อของเขาคือ Sarah; หรือรหัสพนักงานที่มากกว่า 1,000 และรัฐคือแคลิฟอร์เนีย
ตัวอย่าง - คำสั่ง INSERT
INSERT INTO danhba
(ho, ten)
SELECT ho, ten
FROM nhanvien
WHERE (ho = 'Johnson' OR ho = 'Anderson')
AND nhanvien_id > 54;
ตัวอย่างนี้จะแทรกค่าทั้งหมดของชื่อสกุลและชื่อสกุลจากผู้ที่มีนามสกุลว่า Johnson หรือ Anderson และมี ID มากกว่า 54 ลงในรายการ
พี>ตัวอย่าง - คำสั่ง UPDATE
UPDATE nhanvien
SET ho = 'TBD'
WHERE nhanvien_id <= 2000
AND (bang = 'California' OR bang = 'Arizona');
ในลำดับนี้ นามสกุลของพนักงานจะได้รับการอัปเดตเป็น TBD หาก ID พนักงานน้อยกว่าหรือเท่ากับ 2000 และอาศัยอยู่ในแคลิฟอร์เนียหรือแอริโซนา
ตัวอย่าง - คำสั่ง DELETE
DELETE FROM nhanvien
WHERE bang = 'California'
AND (ho = 'Johnson' OR ten = 'Joe');
ในตัวอย่างนี้ การรวมกันของเงื่อนไข AND และ OR ในคำสั่ง DELETE จะลบระเบียนทั้งหมดในตาราง ถ้าค่าของรัฐคือ California และพนักงานมีนามสกุล Johnson หรือชื่อโจ้