MySQL 減法運算子 (-)



MySQL 使用各種型別的運算子在其資料上執行操作。它支援算術運算子、比較運算子、邏輯運算子、賦值運算子等。但是,只有算術運算子專門處理數值。

算術運算子用於對儲存在 MySQL 中的資料執行加、減、乘、除和模運算;其中**減法運算子 (-)** 用於從另一個數字中減去一個數字。

減法運算子可與 MySQL 中的 SELECT、UPDATE 和 DELETE 語句一起使用,以及 WHERE、ORDER BY 等子句。

語法

以下是 MySQL 減法運算子的語法:

[SELECT|DELETE|UPDATE] x - y;

其中,**“x”** 和 **“y”** 是您要相減的數值的佔位符。

示例

在下面的示例中,我們使用減法運算子 (-) 來減去兩個數字:

SELECT 4156456 - 56445;

輸出

這將產生以下結果:

4156456 - 56445
4100011

示例

在此查詢中,我們使用減法運算子 - 減去兩個浮點數和一個整數。

SELECT 547.5478 - 657.3547 - 5475;

輸出

這將產生以下結果:

547.5478 - 657.3547 - 5475
-5584.8069

示例

在下面的查詢中,我們使用 CREATE TABLE 語句建立一個名為 **CUSTOMERS** 的表:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

下面的查詢使用 INSERT 語句將 7 條記錄插入到上面建立的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

執行以下查詢以檢索插入到 CUSTOMERS 表中的所有記錄:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 年齡 地址 薪水
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在這裡,我們使用 MySQL 減法運算子來減去每個客戶的薪水和年齡:

SELECT NAME, SALARY - AGE as Difference FROM CUSTOMERS;

這將產生以下結果:

姓名 結果
Ramesh 1968.00
Khilan 1475.00
Kaushik 1977.00
Chaitali 6475.00
Hardik 8473.00
Komal 4478.00
Muffy 9976.00

示例

您還可以將減法運算子與 **DELETE** 語句一起使用。在這種情況下,我們與賦值運算子一起使用 WHERE 子句。

在下面的查詢中,我們將刪除 CUSTOMERS 表中薪水和年齡之差小於 5000 的行。

DELETE FROM CUSTOMERS 
WHERE SALARY - AGE < 5000;

輸出

已從 CUSTOMERS 表中刪除四條記錄。

Query OK, 4 rows affected (0.01 sec)

驗證

執行以下查詢以驗證上述記錄是否已刪除:

Select * From CUSTOMERS;

正如我們從輸出中看到的,薪水和年齡之差小於 5000 的客戶已被刪除。

ID 姓名 年齡 地址 薪水
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
7 Muffy 24 Indore 10000.00

示例

除了 SELECT 和 DELETE 語句之外,您還可以將減法運算子與 UPDATE 語句一起使用。

讓我們來看一個示例,我們嘗試使用下面的 UPDATE...SET 語句更新 Asha 的分數以達到至少及格分數:

UPDATE CUSTOMERS
SET NAME = 'Hrithik'
WHERE SALARY - AGE > 9000;

輸出

這將產生以下結果:

Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

驗證

執行以下查詢以驗證上述記錄是否已更新:

Select * From CUSTOMERS;

從輸出中可以看到,薪水和年齡大於 5000 的客戶的姓名已更改為“Hrithik”。

ID 姓名 年齡 地址 薪水
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
7 Hrithik 24 Indore 10000.00
廣告