เงื่อนไข IN ถูกใช้ใน SQL Server (Transact-SQL) เพื่อลดความจำเป็นในการใช้เงื่อนไข OR มากเกินไปในคำสั่ง SELECT, INSERT, UPDATE หรือ DELETE
ไวยากรณ์ของเงื่อนไข IN
biểu thức IN (giá trị 1, giá trị 2, … giá trị n);
ชื่อตัวแปรหรือค่าตัวแปร
นิพจน์
ค่าที่จะตรวจสอบ
ค่า 1, ค่า 2, . ค่า n
ค่าที่จะตรวจสอบด้วยนิพจน์
หมายเหตุ
- เงื่อนไข IN ใน SQL Server จะคืนค่าเรกคอร์ดเมื่อนิพจน์มีค่าเท่ากับ 1, ค่า 2, . หรือค่า n
- เงื่อนไข IN ใน SQL Server เรียกอีกอย่างว่าตัวดำเนินการ IN
ตัวอย่างเช่น - มีค่าสตริง
SELECT*
FROM nhanvien
WHERE ho I
N ('Smith', 'Anderson', 'Johnson');
ผลลัพธ์จะเป็นแถวจากตารางหากนามสกุลของพนักงานคือ Smith, Anderson หรือ Johnson เนื่องจากการใช้ * ในคำสั่ง SELECT ฟิลด์ทั้งหมดในสารบัญจะอยู่ในชุดผลลัพธ์
ตัวอย่างด้านบนคล้ายกับคำสั่ง SELECT ด้านล่าง
SELECT *
FROM nhanvien
WHERE ho = 'Smith'
OR ho = 'Anderson'
OR ho = 'Joh
nson';
การใช้เงื่อนไข IN ช่วยให้คำสั่งดูสั้นลงและเข้าใจง่ายขึ้น
ตัวอย่างเช่น - มีค่าตัวเลข
SELECT *
FROM nhanvien
WHERE nha
nvien_id IN (1, 2, 3, 4, 10);
ผลลัพธ์ที่ส่งคืนคือพนักงานที่มี ID คือ 1, 2, 3, 4 หรือ 10 คำสั่งข้างต้นเทียบเท่ากับคำสั่งต่อไปนี้
SELECT*
FROM nhanvien
WHERE nhanvien_id = 1
OR nhanvien_id = 2
OR nhanvien_id = 3
OR nhanvien_id = 4
OR nhanvien_i
d = 10;
ตัวอย่างเช่น - ใช้ตัวดำเนินการ NOT
SELECT *
FROM nhanvien
WHERE t
en NOT IN ('Sarah', 'John', 'Dale');
ในตัวอย่างข้างต้น ชุดผลลัพธ์ประกอบด้วยแถวจากตารางที่มีชื่อพนักงานอื่นที่ไม่ใช่ Sarah, John หรือ Dale บางครั้งก็ง่ายกว่าที่จะหาค่าที่ไม่ใช่ค่าที่คุณต้องการ ตัวอย่างข้างต้นเทียบเท่ากับคำสั่งด้านล่าง
SELECT *
FROM nhanvien
WHERE ten <> 'Sarah'
AND ten <> 'John'
AND ten <> 'Dale';