Điều kiện AND trong SQL Server – HKT SOFT

Trong SQL Server, điều kiện AND (hay còn gọi là toán tử AND) được dùng để kiểm tra 2 hoặc nhiều điều kiện trong các lệnh SELECT, INSERT, UPDATE hoặc DELETE.

Cú pháp điều kiện AND

WHERE

“đ

i

u ki

n

1

AND

“đ

i

u ki

n

2

AND

“đ

i

u ki

n n

”;

Tên biến hoặc giá trị biến

Điều kiện 1, điều kiện 2…. điều kiện n

Các điều kiện mà bản ghi phải đáp ứng để được chọn.

Ghi chú

  • Điều kiện AND trong SQL Server cho phép kiểm tra 2 hoặc nhiều điều kiện hơn.
  • Điều kiện AND trong SQL Server yêu cầu tất cả các điều kiện đều phải được đáp ứng thì bản ghi mới được đưa vào bộ kết quả.

Ví dụ – với lệnh SELECT

SELE

CT

*

FROM nhanvien

WHERE ho

=

Smith

AND nhanvie

n_id

<

499

;

Kết quả trong ví dụ này sẽ trả về tất cả các nhân viên có họ là Smith và nhanvien_id nhỏ hơn 499. Do * được dùng trong lệnh SELECT nên tất cả các trường trong bảng nhanvien sẽ nằm trong bộ kết quả.

Ví dụ – kết hợp bảng

SELECT nhanvien

.

nhanvien_id

,

danhba

.

ho

FROM nhanvien

,

danhba

WHERE nhanvien

.

nhanvien_id

=

danhba

.

danhba_id

AND nhanvien

.

ten

=

Sarah

’;

Dù ví dụ trên vẫn chạy được nhưng thông thường sẽ cần viết bằng INNER JOIN.

SELECT nha

nvien

.

nhanvien_id

,

danhba

.

ho

FROM nhanvien

INNER JOIN danhba

ON nhanvien

.

nhanvien_id

=

danhba

.

danhba_id

WHERE nhanvien

.

ten

=

Sarah

’;

Ở ví dụ này, kết quả trả về sẽ gồm tất cả các hàng có tên của nhân viên là Sarah trong bảng nhanvien. Bảng nhanvien và danhba kết nối bằng nhanvien_id và danhba_id.

Lưu ý là mọi trường thông tin đều được đặt tên sau tên bảng (ví dụ danhba.ten). Điều này là bắt buộc, để tránh tình trạng không rõ ràng về trường thông tin được tham chiếu, ví dụ như khi 2 bảng có cùng một trường thông tin.

Trong trường hợp này, kết quả trả về sẽ chỉ có nhanvien_id và ho.

Ví dụ – lệnh INSERT

INSERT INTO

danhba

(

danhba_id

,

ho

,

ten

)

SELECT nhanvien_id

,

ho

,

ten

FROM nhanvien

WHERE ten

=

Joanne

AND nhanvien_id

>=

800

;

Điều kiện AND trong ví dụ này sẽ chèn vào bảng danhba tất cả nhanvien_id, ten và ho từ bảng nhanvien với những ai có tên là Joanne và nhanvien_id lớn hơn hoặc bằng 800.

Ví dụ – lệnh UPDATE

UPDATE nh

anvien

SET ho

=

Johnson

WHERE ho

=

TBD

AND nhanvien

_id

<

300

;

Ví dụ này sẽ cập nhật tất cả giá trị họ trong bảng nhanvien thành Johnson khi họ của nhân viên đang có giá trị là TBD và nhanvien_id nhỏ hơn 300.

Ví dụ – lệnh DELETE

DELETE FR

OM nhanvien

WHERE ten

=

Darlene

AND ho

=

Hend

erson

’;

Lệnh này sẽ xóa tất cả các bản ghi nằm trong bảng nhanvien nếu nhân viên có tên là Darlene và họ là Henderson.