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

รวมเงื่อนไข AND และ OR ใน SQL Server

บทความนี้อธิบายวิธีใช้เงื่อนไข 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

มีการประเมินเงื่อนไขเพื่อระบุว่าเรกคอร์ดถูกเลือกหรือไม่

หมายเหตุ

  1. เงื่อนไข AND และ OR อนุญาตให้ตรวจสอบหลายเงื่อนไขได้
  2. อย่าลืมลำดับการดำเนินการที่กำหนดโดยวงเล็บ

ตัวอย่างเช่น - คำสั่ง SELECT

 SELECT * 
FROM nhanvien
WHERE (ho = 'Anderson' AND ten = 'Sarah')
OR (nhanvien_id = 75);

คำสั่งนี้จะส่งคืนพนักงานทั้งหมดที่มีนามสกุล Anderson และชื่อ Sarah หรือมี ID 75 วงเล็บจะกำหนดลำดับการดำเนินการตามเงื่อนไข

  SELECT nhanvien_i d, 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 หรือชื่อโจ้