Toán tử trong SQL

Trong bài trước các bạn đã tìm hiểu về cấu trúc lệnh SQL cơ bản, các kiểu dữ liệu trong SQL. Ở bài này, chúng ta sẽ tìm hiểu về toán tử trong SQL.

Toán tử trong SQL là gì?

Toán tử là từ dành riêng hoặc ký tự được sử dụng chủ yếu trong mệnh đề WHERE của lệnh SQL để thực hiện các thao tác, chẳng hạn như so sánh, các phép tính số học. Những toán tử này được sử dụng để chỉ định điều kiện trong một câu lệnh SQL và dùng như giao của nhiều điều kiện trong một câu lệnh.

Toán tử trong SQL bao gồm:

  • Toán tử số học
  • Toán tử so sánh
  • Toán tử logic
  • Toán tử được sử dụng để phủ nhận các điều kiện

Toán tử số học trong SQL

Giả sử biến a lưu giá trị là 10, biến b lưu giá trị 20, sau đó

Toán tử Mô tả Ví dụ
+ (Cộng) Cộng các giá trị ở hai bên của toán tử (phép cộng). a + b cho kết quả là 30
- (Trừ) Lấy toán hạng bên trái trừ toán hạng bên phải (phép trừ). a - b cho kết quả là -10
* (Nhân) Nhân giá trị của hai toán hạng ở hai bên toán tử (phép nhân). a * b cho kết quả là 200
/ (Chia) Chia toán hạng bên trái cho toán hạng bên phải (phép chia). b / a cho kết quả là 2
% (Chia lấy số dư) Chia toán hạng bên trái cho toán hạng bên phải rồi lấy số dư (phép chia lấy phần dư). b % a cho kết quả là 0

Các toán tử so sánh trong SQL

Ta vẫn dùng giả sử phía trên, a=10, b=20.

Toán tử Mô tả Ví dụ
= Kiểm tra xem giá trị của 2 toán hạng ở hai bên dấu bằng có bằng nhau không, nếu có bằng thì điều kiện là true. (a = b) không true.
!= Kiểm tra xem giá trị của 2 toán hạng có bằng nhau không, nếu khác thì điều kiện là true. (a != b) là true.
<> Kiểm tra xem giá trị của 2 toán hạng có bằng nhau không, nếu không bằng thì điều kiện là true. (a <> b) làs true.
> Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a > b) không true.
< Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a < b) là true.
>= Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a >= b) không true.
<= Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn hoặc bằng giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a <= b) là true.
!< Kiểm tra xem giá trị của toán hạng bên trái là không nhỏ hơn giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a !< b) là false.
!> Kiểm tra xem giá trị của toán hạng bên trái là không lớn hơn giá trị của toán hạng bên phải không, nếu có thì điều kiện là true. (a !> b) là true.

Các toán tử logic trong SQL

Đây là danh sách các toán tử logic trong SQL.

Toán tử Mô tả
ALL

Toán tử ALL được sử dụng để so sánh một giá trị với tất cả các giá trị trong tập hợp giá trị khác.

AND

Toán tử AND cho phép nhiều điều kiện cùng tồn tại trong mệnh đề WHERE của lệnh SQL.

ANY

Toán tử ANY được sử dụng để so sánh một giá trị với bất kỳ giá trị thích hợp nào trong danh sách tùy theo điều kiện.

BETWEEN

Toán tử BETWEEN được sử dụng để tìm kiếm giá trị trong một tập hợp giá trị, với giá trị nhỏ nhất và giá trị lớn nhất được cho trước.

EXISTS

Toán tử EXISTS được sử dụng để tìm kiếm sự có mặt của một hàng trong bảng thỏa mãn điều kiện cụ thể.

IN

Toán tử IN được sử dụng để so sánh giá trị với danh sách chuỗi giá trị đã được xác định trước. 

LIKE

Toán tử LIKE được sử dụng để so sánh giá trị với các giá trị tương tự, sử dụng các toán tử Wildcard. 

NOT

Toán tử NOT đảo ngược ý nghĩa của toán tử logic mà nó được sử dụng. Ví dụ: NOT EXISTS, NOT BETWEEN, NOT IN,... Đây là một toán tử phủ định.

OR

Toán tử OR thường được sử dụng để nối nhiều điều kiện trong mệnh đề WHERE của lệnh SQL. 

IS NULL

Toán tử NULL được sử dụng để so sánh một giá trị với giá trị NULL. 

UNIQUE

Toán tử UNIQUE tìm kiếm tính đơn nhất cho mọi hàng trong bảng (không có bản sao). 

Đến đây các bạn đã nắm được những toán hạng cơ bản nhất trong SQL, trong bài tới chúng ta sẽ tìm hiểu về các biểu thức SQL, các bạn đừng bỏ lỡ nhé.

Bài trước: Kiểu dữ liệu trong SQL

Tham khảo: tutorialspoint.com 

Thứ Hai, 20/11/2017 09:28
51 👨 5.811