SQL Server: SELECT với WHERE
Câu lệnh SELECT với WHERE được dùng để thiết lập truy vấn có điều kiện. Loại câu lệnh này được xem là phổ biến và phức tạp nhất trong các truy vấn SQL. Cú pháp cơ bản của câu lệnh này được thể hiện như sau:
, trong đó, để thiết lập Điều_kiện được dễ dàng hơn SQL đưa ra một số quy cách sau đây:
Các phép toán so sánh
= : So sánh bằng
<> hoặc != : So sánh khác
> : So sánh lớn hơn
>= : So sánh lớn hơn hoặc bằng
< : So sánh nhỏ hơn
<= : So sánh nhỏ hơn hoặc bằng
is : So sánh với NULL
Ví dụ:
Tìm những sinh viên có họ và tên là 'Nguyễn Văn A' :
Tìm những sinh viên có họ và tên không phải là 'Nguyễn Văn A' :
NOT
NOT được dùng trong trường hợp bạn muốn tìm những dữ liệu ngược với điều kiện. Cú pháp:
Ví dụ, nếu bạn muốn tìm những bạn sinh viên có mã từ 4 trở xuống thì bạn có thể làm như sau:
Còn đây là ví dụ tìm những sinh viên có họ và tên không phải là 'Nguyễn Văn A':
LIKE và NOT LIKE
LIKE được dùng trong trường hợp bạn muốn tìm dữ liệu tương tự hay gần giống với yêu cầu đề ra. Chẳng hạn nếu bạn muốn tìm những Sinh viên có tên là 'Anh' thì bạn sẽ cần dùng đến LIKE.
SQL đưa ra một số ký tự dạng đặc biệt sau đây khi áp dụng LIKE:
% : tương đương với một chuỗi bất kỳ.
_ : (dấu gạch dưới) tương đương với một ký tự bất kỳ.
[] : tương đương với một ký tự bất kỳ nằm trong cặp []. Ví dụ, [abc] tương đương với a hoặc b hoặc c.
[^] : tương đương với một ký tự bất kỳ không nằm trong cặp []. Ví dụ, [^abc] tương đương với một ký tự bất kỳ mà không phải a hay b hay c.
Ví dụ dưới đây sẽ tìm những sinh viên có họ là 'Hoàng':
Tìm những sinh viên có tên là 'Anh':
Tìm những sinh viên có tên gồm 3 ký tự:
Tìm những sinh viên có tên có ký tự cuối là 'A' hoặc 'C':
Tìm những sinh viên có tên có ký tự cuối không phải là 'A' hoặc 'C':
NOT LIKE lại có tác dụng ngược với LIKE, tức là nó được dùng trong trường hợp bạn không muốn tìm dữ liệu tương tự hay gần giống với yêu cầu đề ra. Chẳng hạn nếu bạn không muốn tìm những Sinh viên có tên là 'Anh' thì bạn sẽ dùng NOT LIKE.
Tìm những Sinh viên có họ không phải là 'Hoàng':
Tìm những Sinh viên có tên không phải là 'Anh':
BETWEEN và NOT BETWEEN:
BETWEEN được dùng trong trường hợp bạn muốn truy xuất những dữ liệu với điều kiện dữ liệu nằm trong một đoạn (range) nào đó.
Cú pháp của BETWEEN:
Ví dụ cho BETWEEN:
Nếu bạn muốn lấy những Sinh viên có mã từ 2 đến 9 bạn làm như sau:
NOT BETWEEN có tác dụng ngược với BETWEEN, nghĩa là sẽ lấy dữ liệu với điều kiện dữ liệu không nằm trong đoạn nào đó.
Cú pháp NOT BETWEEN:
Ví dụ NOT BETWEEN:
Nếu bạn muốn lấy những Sinh viên có mã không nằm trong đoạn từ 2 đến 9 bạn làm như sau:
IN() và NOT IN():
IN() được dùng trong trường hợp bạn muốn truy xuất những dữ liệu với điều kiện dữ liệu bao gồm các giá trị cụ thể nào đó.
Cú pháp IN():
Ví dụ IN():
Nếu bạn muốn xem thông tin của những Sinh viên có mã 3, 5, 7 và 9 bạn làm như sau:
NOT IN() được dùng trong trường hợp bạn muốn truy xuất những dữ liệu với điều kiện dữ liệu không bao gồm các giá trị cụ thể nào đó.
Cú pháp NOT IN():
Ví dụ NOT IN():
Nếu bạn muốn xem thông tin của những Sinh viên có mã không phải là 3, 5, 7 hay 9 bạn làm như sau: