SQL - 算術運算子



SQL 算術運算子用於對資料庫中的數字資料型別執行基本的數學運算。SQL 中最常用的算術運算子是

以下是 SQL 中所有可用算術運算子的列表。

運算子 描述 示例
+ 將運算子兩側的值相加。 10 + 20 等於 30
- 從左運算元中減去右運算元。 20 - 30 等於 -10
* 將運算子兩側的值相乘。 10 * 20 等於 200
/ 將左運算元除以右運算元。 20 / 10 等於 2
% 將左運算元除以右運算元並返回餘數。 5 % 2 等於 1

在本節中,我們將逐一學習每個運算子,並透過示例演示其用法。在繼續之前,讓我們使用以下查詢建立一個名為**EMPLOYEE**的表:

CREATE TABLE EMPLOYEE(
   ID INT NOT NULL,
   NAME VARCHAR(15) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR(25),
   SALARY DECIMAL(10, 2),
   JOIN_DATE DATE,
   PRIMARY KEY(ID)
);

建立表後,我們可以使用以下查詢向表中插入一些值:

INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(2, 'Ramesh', 21, 'Hyderabad', 25550.12, '2023/01/02');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(1, 'khilan', 22, 'Nijamabad', 57500.84, '2022/01/14');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(4, 'Kaushik', 18, 'Bangolore', 47275.43, '2023/03/15');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(5, 'chaitali', 23, 'Ranchi', 40700.76, '2022/04/18');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(6, 'Hardhik', 19, 'Noida', 44200.09, '2023/06/04');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(3, 'komal', 23, 'Chennai', 44200.09, '2023/10/08');

讓我們使用以下查詢驗證表是否已建立:

SELECT * FROM EMPLOYEE;

如下所示輸出,該表已在資料庫中建立。

ID 姓名 年齡 地址 薪水 入職日期
1 Khilan 22 Nizamabad 57500.84 2022-01-14
2 Ramesh 21 Hyderabad 25550.12 2023-01-02
3 Komal 23 Chennai 44200.09 2023-10-08
4 kaushik 18 Bangalore 47275.43 2023-03-15
5 Chaitali 23 Ranchi 40700.76 2022-04-18
6 Hardhik 19 Noida 44200.09 2023-06-04

現在,讓我們使用上表執行所有 SQL 比較運算。

SQL 加法 (+) 運算子

SQL 中的加法運算子用於將兩個或多個數值相加。它類似於基本數學中的“加號”。

示例

在下面的示例中,我們嘗試執行加法運算,向所有員工的現有薪水中新增 5000 元的獎金。

SELECT ID, NAME, SALARY, SALARY + 5000 AS "SALARY_BONUS" FROM employee;

輸出

執行上述查詢後,將獲得如下輸出:

ID 姓名 薪水 獎金後薪水
1 Khilan 57500.84 62500.84
2 Ramesh 25550.12 30550.12
3 Komal 44200.09 49200.09
4 kaushik 47275.43 52275.43
5 Chaitali 40700.76 45700.76
6 Hardhik 44200.09 49200.09

SQL 減法 (-) 運算子

SQL 中的減法運算子用於從一個數值中減去另一個數值。它類似於基本數學中的“減號”。

示例

在這裡,我們使用 - 運算子來查詢薪水最高的員工和薪水最低的員工之間的薪水差。

SELECT MAX(salary), MIN(salary), MAX(salary)-MIN(salary) AS salary_difference FROM employee;

輸出

執行上述查詢後,將顯示如下輸出:

MAX(salary) MIN(salary) 薪水差
57500.84 25550.12 31950.72

SQL 乘法 (*) 運算子

SQL 中的乘法運算子用於對數值執行數學乘法。它允許我們將兩列或多個列或數字表達式相乘,得到一個新值,該值表示運算元的乘積。

示例

現在,我們執行 * 運算,為所有員工的薪水增加 10% 的獎金。

SELECT NAME, AGE, ADDRESS, SALARY * 1.10 AS new_salary_with_bonus FROM employee;

輸出

上述查詢生成的表如下所示:

姓名 年齡 地址 包含獎金的新薪水
Khilan 22 Nijamabad 63250.9240
Ramesh 21 Hyderabad 28105.1320
Komal 23 Chennai 48620.0990
kaushik 18 Bangalore 52002.9730
Chaitali 23 Ranchi 44770.8360
Hardhik 19 Noida 48620.0990

SQL 除法 (/) 運算子

SQL 中的除法運算子 (/) 用於對數值執行數學除法。它允許我們將一個數字運算元除以另一個數字運算元,得到一個新值,該值表示除法的商。

示例

在這裡,我們使用 / 運算子來計算所有員工的平均薪水。

SELECT AVG(SALARY) AS average_salary FROM employee;

輸出

以下是上述查詢的輸出:

平均薪水
43237.888333

SQL 模數 (%) 運算子

SQL 中的模數運算子 (%) 用於查詢一個數值除以另一個數值後的餘數。它返回除法運算的整數餘數。

示例

在下面的示例中,我們使用 % 運算子來找出員工 ID 為偶數的員工。

SELECT * FROM employee WHERE ID % 2 = 0;

輸出

產生的輸出如下所示:

ID 姓名 年齡 地址 薪水 入職日期
2 Ramesh 21 Hyderabad 25550.12 2023-01-02
4 kaushik 18 Bangalore 47275.43 2023-03-15
6 Hardhik 19 Noida 44200.09 2023-06-04
sql-operators.htm
廣告
© . All rights reserved.