ใน SQL Server เงื่อนไข AND (หรือตัวดำเนินการ AND) ใช้เพื่อทดสอบเงื่อนไขตั้งแต่สองเงื่อนไขขึ้นไปในคำสั่ง SELECT, INSERT, UPDATE หรือ DELETE
และไวยากรณ์เงื่อนไข
WHERE 'điều kiện 1'
AND 'điều kiện 2'
…
AND 'điều kiện n';
ชื่อตัวแปรหรือค่าตัวแปร
เงื่อนไข 1, เงื่อนไข 2 . เงื่อนไข n
เงื่อนไขที่เร็กคอร์ดต้องเป็นไปตามจะถูกเลือก
หมายเหตุ
- เงื่อนไข AND ใน SQL Server อนุญาตให้ตรวจสอบสองเงื่อนไขขึ้นไปได้
- เงื่อนไข AND ใน SQL Server กำหนดให้ตรงตามเงื่อนไขทั้งหมด และเร็กคอร์ดใหม่รวมอยู่ในชุดผลลัพธ์
ตัวอย่างเช่น - ด้วยคำสั่ง SELECT
SELECT *
FROM nhanvien
WHERE ho = 'Smith'
AND nhanvie
n_id <499;
ผลลัพธ์ในตัวอย่างนี้จะส่งคืนพนักงานทั้งหมดที่มีนามสกุล Smith และ nhanvien_id น้อยกว่า 499 เนื่องจาก * ถูกใช้ในคำสั่ง SELECT ฟิลด์ทั้งหมดในตารางจึงอยู่ในผลลัพธ์ กำหนด.
ตัวอย่าง - การรวมตาราง
SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien, danhba
WHERE nhanvien.nhanvien_id = danhba.danhba_id
AND nhanvien.ten = 'Sarah';
แม้ว่าตัวอย่างด้านบนจะยังใช้งานได้ แต่โดยปกติแล้วจะต้องเขียนด้วย INNER JOIN
SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien
INNER JOIN danhba
ON nhanvien.nhanvien_id = danhba.danhba_id
WHERE nhanvien.
ten = 'Sarah';
ในตัวอย่างนี้ ผลลัพธ์ที่ได้จะรวมแถวทั้งหมดที่มีชื่อพนักงานเป็น Sarah ในตาราง ตารางชื่อและชื่อที่เชื่อมต่อโดย nhienvien_id และ danhba_id
โปรดทราบว่าฟิลด์ข้อมูลทั้งหมดตั้งชื่อตามชื่อตาราง (เช่น danhba.ten) นี่เป็นสิ่งจำเป็น เพื่อหลีกเลี่ยงความกำกวมเกี่ยวกับฟิลด์ข้อมูลอ้างอิง เช่น เมื่อสองตารางมีฟิลด์ข้อมูลเดียวกัน
ในกรณีนี้ ผลลัพธ์ที่ส่งคืนจะแสดงด้วย the_id และไอเท่านั้น
ตัวอย่าง - คำสั่ง INSERT
INSERT INTOdanhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE ten = 'Joanne'
AND nhanvien_id >=
800;
เงื่อนไข AND ในตัวอย่างนี้จะแทรกรายการของฟิลด์ทั้งหมด สิบ และไอจากตารางที่มีชื่อ Joanne และ nhanvien_id มากกว่าหรือเท่ากับ 800
ตัวอย่าง - คำสั่ง UPDATE
UPDATEanvien
SET ho = 'Johnson'
WHERE ho = 'TBD'
AND nhanvien
_id <300;
ตัวอย่างนี้จะอัปเดตค่าทั้งหมดในตารางเป็น Johnson เมื่อนามสกุลของพนักงานมีค่าเท่ากับ TBD และ nhanvien_id น้อยกว่า 300
ตัวอย่าง - คำสั่ง DELETE
DELETE FROM nhanvien
WHERE ten = 'Darlene'
AND ho = 'Hend
erson';
คำสั่งนี้จะลบระเบียนทั้งหมดในตาราง ถ้าพนักงานชื่อ Darlene และชื่อ Henderson