Phép toán chọn của đại số quan hệ và nhiều thứ nữa sẵn có trong mệnh đề WHERE của SQL. Các biểu thức đi sau WHERE bao gồm các biểu thức điều kiện giống như các biểu thức điều kiện trong các ngôn ngữ lập trình. Chúng ta có thể xây dựng các điều kiện bằng cách so sánh các giá trị sử dụng sáu phép toán so sánh =, <>, <, >, <=, >=. Các giá trị có thể được so sánh bao gồm các hằng và các thuộc tính của các quan hệ được kể ra sau FROM. Chúng ta cũng có thể áp dụng các phép toán số học thong thường như +, -, *, / đối với các giá trị số trước khi chúng ta so sánh chúng và áp dụng phép nối || đối với các xâu.
Một ví dụ về phép so sánh là
MãsốĐV = 5
Ở trong các ví dụ ở trên. Thuộc tính MãsốĐV được kiểm tra xem có bằng hằng 5 hay không. Hằng này là một giá trị số. Các hằng số, như các số nguyên và số thực được sử dụng và được ghi như cách thông thường trong các ngôn ngữ lập trình. Ngoài các hằng số còn có các hằng xâu. Các xâu trong SQL được ghi bằng cách đặt chúng và trong cặp dấu nháy đơn, ví dụ, ‘Hà nội’.
Kết quả của một phép so sánh là một giá trị lô gic TRUE hoặc FALSE. Các giá trị lô gic có thể được kết hợp bằng các phép toán logic AND, OR, NOT với các ý nghĩa của chúng.
Ví dụ 5: Truy vấn sau đây hỏi về Họđệm, Tên và Giớitính của các nhân viên ở đơn vị có mã số bằng 5 và Giớitính = ‘Nam’
SELECT Họđệm, Tên, Giớitính FROM NHÂNVIÊN
WHERE (MãsốĐV =5) AND (Giớitính = ‘Nam’);
Kết quả
Họđệm
|
Tên
|
Giớitính
|
Lê
|
Vân
|
Nam
|
Trần Đức
|
Nam
|
Nam
|
Nguyễn
|
Sơn
|
Nam
|
Trong điều kiện này, chúng ta có AND của hai giá trị logic. Các giá trị đó là các phép so sánh bình thường. Tiếp theo, ta xét ví dụ sau:
SELECT Họđệm, Tên FROM NHÂNVIÊN
WHERE (MãsốĐV =5) AND (Giớitính = ‘Nữ’ OR Lương <= 3000);
Họđệm
|
Tên
|
Lê
|
Vân
|
Vũ Hương
|
Giang
|
Truy vấn này đòi hỏi các nhân viên hoặc là nữ hoặc có lương nhỏ hơn hoặc bằng 3000. Chú ý rằng các phép so sánh có thể nhóm lại bằng việc sử dụng các dấu ngoặc đơn. Các dấu ngoặc là cần thiết bởi vì thứ tự ưu tiên của các phép toán lô gic trong SQL là giống như trong các ngôn ngữ lập trình, AND có thứ tự cao hơn OR, NOT có thứ tự cao hơn cả AND và OR.