Mục lục
Chúng ta có thể sử dụng các toán tử số học khác nhau trên dữ liệu được lưu trữ trong các bảng.
+ [Cộng] - [Trừ] / [Chia lấy nguyên] * [Nhân] % [Chia lấy dư]
Phép cộng trong SQL
Toán tử cộng có thể sử dụng để thực hiện thao tác cộng trên các cột dữ liệu gồm 2 hay nhiều cột lại với nhau.
Ví dụ lấy lương của nhân viên cộng với 100
SELECT employee_id, employee_name, salary, salary + 100 AS "salary + 100" FROM addition;
Kết qủa chúng ta sẽ được như sau, với một cột không thuộc bảng addition tên là SALARY+100.
EMPLOYE E_ID |
EMPLOYEE_NAME | SALARY | SALARY+100 |
---|---|---|---|
1 | alex | 25000 | 25100 |
2 | rr | 55000 | 55100 |
3 | jpm | 52000 | 52100 |
4 | ggshmr | 12312 | 12412 |
Hoặc chúng ta có thể cộng 2 cột trong bảng lại với nhau
SELECT employee_id, employee_name, salary, salary + employee_id AS "salary + employee_id" FROM addition;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY+EMPLOYEE_ID |
---|---|---|---|
1 | alex | 25000 | 25001 |
2 | rr | 55000 | 55002 |
3 | jpm | 52000 | 52003 |
4 | ggshmr | 12312 | 12316 |
Phép trừ trong SQL
Phép trừ được sử dụng để thực hiện phép tính trừ trên các cột dữ liệu bao gồm một hay nhiều cột.
Tương tự ví dụ mình lấy lương của nhân viên trừ đi 100
SELECT employee_id, employee_name, salary, salary - 100 AS "salary - 100" FROM subtraction;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY-100 |
---|---|---|---|
12 | Finch | 15000 | 14900 |
22 | Peter | 25000 | 24900 |
32 | Warner | 5600 | 5500 |
42 | Watson | 90000 | 89900 |
Hay là lấy 2 cột trừ nhau
SELECT employee_id, employee_name, salary, salary - employee_id AS "salary - employee_id" FROM subtraction;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY – EMPLOYEE_ID |
---|---|---|---|
12 | Finch | 15000 | 14988 |
22 | Peter | 25000 | 24978 |
32 | Warner | 5600 | 5568 |
42 | Watson | 90000 | 89958 |
Phép nhân trong SQL
Tương tự phép nhân dùng để nhân dữ liệu trong các cột
SELECT employee_id, employee_name, salary, salary * 100 AS "salary * 100" FROM addition;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY * 100 |
---|---|---|---|
1 | Finch | 25000 | 2500000 |
2 | Peter | 55000 | 5500000 |
3 | Warner | 52000 | 5200000 |
4 | Watson | 12312 | 1231200 |
Phép chia lấy dư trong SQL
SELECT employee_id, employee_name, salary, salary % 25000 AS "salary % 25000" FROM addition;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY % 25000 |
---|---|---|---|
1 | Finch | 25000 | 0 |
2 | Peter | 55000 | 5000 |
3 | Warner | 52000 | 2000 |
4 | Watson | 12312 | 12312 |
Hoặc chia lấy dư 2 cột với nhau
SELECT employee_id, employee_name, salary, salary % employee_id AS "salary % employee_id" FROM addition;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | SALARY % EMPLOYEE_ID |
---|---|---|---|
1 | Finch | 25000 | 0 |
2 | Peter | 55000 | 0 |
3 | Warner | 52000 | 1 |
4 | Watson | 12312 | 0 |
Giá trị null
Nếu chúng ta thực hiện bất kỳ phép toán số học nào trên NULL, thì kết quả trả về luôn là null.
ELECT employee_id, employee_name, salary, type, type + 100 AS "type+100" FROM addition;
Output
EMPLOYEE_ID | EMPLOYEE_NAME | SALARY | TYPE | TYPE + 100 |
---|---|---|---|---|
1 | Finch | 25000 | NULL | NULL |
2 | Peter | 55000 | NULL | NULL |
3 | Warner | 52000 | NULL | NULL |
4 | Watson | 12312 | NULL | NULL |
Phép chia lấy nguyên trong SQL
Lưu ý phép chia lấy nguyên không được hỗ trợ trong SQL, tuy nhiên nó có thể được biểu diễn bởi các cách khác như join, except, in.
Nguồn tham khảo