SQL 算术运算符
在结构化查询语言中,算术运算符用于对存储在数据库表中的数值进行数学运算。
我们可以在SQL的SELECT语句中使用这些运算符。我们还可以在SELECT语句中使用WHERE子句来对特定行进行操作。
这些类型的运算符用于两个数值操作数之间进行加法、减法、乘法和除法运算。
SQL中的算术运算符分为以下五种类型:
- SQL加法运算符(
+
) - SQL减法运算符(
-
) - SQL乘法运算符(
*
) - SQL除法运算符(
/
) - SQL取模运算符(
%
)
SQL加法运算符(+
)
SQL加法运算符对表中的数值列进行加法运算。
如果你想要对表中的两个数值列的值进行相加,那么你必须将这两个列分别指定为第一个和第二个操作数。你也可以将整数列的新整数值加在整数列的值上。
SQL加法运算符的语法:
SELECT Column_Name_1 Addition_Operator Column_Name2 FROM Table_Name;
加法运算符与WHERE子句
加法运算符也可以与SQL SELECT查询中的WHERE子句一起使用。
使用WHERE子句与加法运算符的语法如下所示:
SELECT Column_Name_1 Addition_Operator Column_Name2 FROM Table_Name WHERE Condition;
在SQL中实现加法运算符的方法:
下面的CREATE查询语句创建了一个具有五个字段的Employee表:
CREATE TABLE Employee
(
Employee_ID INT AUTO_INCREMENT PRIMARY KEY,
Emp_Name VARCHAR (50),
Emp_City VARCHAR (20),
Emp_Salary INT NOT NULL,
Emp_Bonus INT NOT NULL
) ;
以下INSERT查询将员工记录插入到Employee表中:
INSERT INTO Employee (Employee_ID, Emp_Name, Emp_City, Emp_Salary, Emp_Bonus) VALUES (101, Anuj, Ghaziabad, 25000, 2000),
(102, Tushar, Lucknow, 29000, 1000),
(103, Vivek, Kolkata, 35000, 2500),
(104, Shivam, Goa, 22000, 3000);
以下SELECT查询显示了 Employee 表的数据:
SELECT * FROM Employee;
Employee_Id | Emp_Name | Emp_City | Emp_Salary | Emp_bonus |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 25000 | 2000 |
102 | Tushar | Lucknow | 29000 | 1000 |
103 | Vivek | Kolkata | 35000 | 2500 |
104 | Shivam | Goa | 22000 | 3000 |
下面的查询使用加法运算符为 Employee 表中的每个员工的Emp_Salary和Emp_Bonus进行相加:
SELECT Emp_Salary + Emp_Bonus AS Emp_Total_Salary FROM Employee;
输出:
以下查询将在 员工 表中的Emp_Salary列中的每个员工的工资增加15000:
SELECT Emp_Salary + 15000 AS Emp_Updated_Salary FROM Employee;
输出:
以下查询对上面的 Employee 表执行加法操作,使用了WHERE子句:
SELECT Emp_Salary + Emp_Bonus AS Emp_Total_Salary FROM Employee WHERE Emp_Salary > 25000;
显示仅那些Emp_Salary大于25000的雇员记录:
输出:
SQL减法运算符 (-
)
SQL减法运算符对表中的数值列进行减法运算。
如果我们想要从一个数值列的值减去另一个数值列的值,那么我们必须将这两个列指定为第一个和第二个操作数。我们也可以从整数列的值中减去整数值。
SQL减法运算符的语法:
SELECT Column_Name_1 Subtraction_Operator Column_Name2 FROM Table_Name;
减法运算符与WHERE子句
减法运算符也可以与SELECT查询中的WHERE子句一起使用。
使用WHERE子句与减法运算符的语法如下所示:
SELECT Column_Name_1 Subtraction_Operator Column_Name2 FROM Table_Name WHERE Condition;
在SQL中实现减法运算符:
下面的CREATE查询创建了具有五个字段的Employee表:
CREATE TABLE Employee
(
Employee_ID INT AUTO_INCREMENT PRIMARY KEY,
Emp_Name VARCHAR (50),
Emp_City VARCHAR (20),
Emp_Salary INT NOT NULL,
Emp_Panelty INT NOT NULL
) ;
以下是将员工记录插入到Employee表中的INSERT查询:
INSERT INTO Employee (Employee_ID, Emp_Name, Emp_City, Emp_Salary, Emp_Bonus) VALUES (101, Anuj, Ghaziabad, 25000, 500),
(102, Tushar, Lucknow, 29000, 1000),
(103, Vivek, Kolkata, 35000, 700),
(104, Shivam, Goa, 22000, 500);
以下是SELECT查询显示的员工表的数据: Employee
SELECT * FROM Employee;
Employee_Id | Emp_Name | Emp_City | Emp_Salary | Emp_Panelty |
---|---|---|---|---|
101 | Anuj | Ghaziabad | 25000 | 500 |
102 | Tushar | Lucknow | 29000 | 1000 |
103 | Vivek | Kolkata | 35000 | 700 |
104 | Shivam | Goa | 22000 | 500 |
以下查询使用减法运算符从 Employee 表的Emp_Salary列中减去Emp_Panelty列的值:
SELECT Emp_Salary - Emp_Panelty AS Emp_Total_Salary FROM Employee;
输出:
以下查询使用 WHERE 子句在上述 Employee 表上执行减法操作:
SELECT Emp_Panelty - Emp_Salary AS Emp_Total_Salary FROM Employee WHERE Employee_ID = 104;
仅显示员工编号为103的员工的记录:
输出:
下面的查询从 Employee 表的每个员工的薪水中减去10000:
SELECT Emp_Salary - 10000 AS Emp_Updated_Salary FROM Employee;
输出:
SQL乘法运算符 (*
)
SQL乘法运算符对表中的数值列进行乘法运算。
如果您想要对两个数值列的值进行相乘,那么您需要将这两个列指定为第一个和第二个操作数。您也可以将整数值与整数列的值相乘。
SQL乘法运算符的语法:
SELECT Column_Name_1 Multiplication_Operator Column_Name2 FROM Table_Name;
乘法运算符与WHERE子句
乘法运算符(*)也可以与SELECT查询中的WHERE子句一起使用。
使用乘法运算符与WHERE子句的语法如下所示:
SELECT Column_Name_1 Multilplication_Operator Column_Name2 FROM Table_Name WHERE Condition;
在SQL中实现乘法运算符:
以下CREATE查询创建了带有四个字段的Cars表:
CREATE TABLE Cars
(
Car_Number INT PRIMARY KEY,
Car_Name VARCHAR (50),
Car_Price INT NOT NULL,
Car_AmountINT NOT NULL
) ;
以下的INSERT查询将汽车记录插入到Cars表中:
INSERT INTO Cars (Car_Number, Car_Name, Car_Amount, Car_Price)
VALUES (2578, Creta, 3, 1500000),
(9258, Audi, 2, 3000000),
(8233, Venue, 6, 900000),
(6214, Nexon, 7, 1000000);
以下SELECT查询显示了 汽车 表的数据:
SELECT * FROM Cars;
Car_Number | Car_Name | Car_Amount | Car_Price |
---|---|---|---|
2578 | Creta | 3 | 1500000 |
9258 | Audi | 2 | 3000000 |
8233 | Venue | 6 | 900000 |
6214 | Nexon | 7 | 1000000 |
以下查询使用乘法运算符将 Car_Amount 列的值与 Car_Price 列的值相乘,这些列来自 Cars 表:
SELECT Car_Amount * Car_Price AS Car_Total_Price FROM Cars;
输出:
下面的查询在上面的Cars表上执行带有WHERE子句的乘法操作:
SELECT Car_Amount * Car_Price AS Car_Total_Price FROM Cars WHERE Car_Price >= 1000000;
只显示车辆记录中的那些 Car_Price 大于等于1000000的。
输出:
SQL除法运算符 (/
)
SQL除法操作符(/)用于将一个字段的数值除以另一个字段的数值。
SQL划分操作符的语法:
SELECT Column_Name_1 Division_Operator Column_Name2 FROM Table_Name;
除法操作符与WHERE子句
SQL分区操作符也可以与SELECT查询中的WHERE子句一起使用。
使用WHERE子句与分区操作符的语法如下所示:
SELECT Column_Name_1 Division_Operator Column_Name2 FROM Table_Name **WHERE Condition;**
SQL中除法运算符的实现方式:
以下CREATE查询创建了带有四个字段的 Cars 表:
CREATE TABLE Cars
(
Car_Number INT PRIMARY KEY,
Car_Name VARCHAR (50),
Car_Price INT NOT NULL,
Car_AmountINT NOT NULL
) ;
以下的INSERT查询将记录插入到 Cars 表中:
INSERT INTO Cars (Car_Number, Car_Name, Car_Amount, Car_Price)
VALUES (2578, Creta, 3, 1500000),
(9258, Audi, 2, 3000000),
(8233, Venue, 6, 900000),
(6214, Nexon, 10, 1000000);
下面的 SELECT 查询显示了 Cars 表的数据:
SELECT * FROM Cars;
Car_Number | Car_Name | Car_Amount | Car_Price |
---|---|---|---|
2578 | Creta | 3 | 1500000 |
9258 | Audi | 2 | 3000000 |
8233 | Venue | 6 | 900000 |
6214 | Nexon | 10 | 1000000 |
下面的查询使用乘法运算符将 Cars 表中的 Car_Price 列的值除以 Car_Amount 列的值:
SELECT Car_Price / Car_Amount AS One_Car_Price FROM Cars;
输出:
以下查询在上述Cars表上执行除法操作,并带有WHERE子句:
SELECT Car_Price / Car_Amount AS One_Car_Price FROM Cars WHERE Car_Number = 9258;
它展示了来自Cars表中Car_Number为9258的那些汽车的记录。
输出:
SQL取模运算符(%
)
SQL取模运算符在一个列的数值被另一个列的数值除以时提供余数。
SQL中取模运算符的语法:
SELECT Column_Name_1 Modulus_Operator Column_Name2 FROM Table_Name;
SQL中的模运算符的实现:
以下CREATE查询创建了具有四个字段的Student表:
CREATE TABLE Student
(
Student_ID INT PRIMARY KEY,
Student_Name VARCHAR (50),
Student_MathsINT,
Student_English INT NOT NULL
) ;
以下INSERT查询将学生的记录插入到Student表中:
INSERT INTO Student (Student_ID, Student_Name, Student_Maths, Student_English) VALUES (201, Anuj, 30, 60),
(202, Tushar, 25, 100),
(203, Vivek, 30, 90),
(204, Shivam, 40, 80);
以下 SELECT 查询显示了 Student 表的数据:
SELECT * FROM Student;
Student_Id | Student_Name | Student_Maths | Student_English |
---|---|---|---|
201 | Anuj | 30 | 60 |
202 | Tushar | 25 | 100 |
203 | Vivek | 30 | 90 |
204 | Shivam | 40 | 80 |
以下查询将Student表中每个学生的Student_English列的分数除以Student_Maths列的分数:
SELECT Student_English % Student_Maths AS Remainder FROM Student;
输出:
以下查询对上面的学生表执行模操作,并带有WHERE子句:
SELECT Student_English % Student_Maths AS Remainder FROM Student WHERE Student_Id >202;
它显示了那些学生的记录,其Student_Id大于202。
输出: