SQL中不同的特殊运算符如下-
所有运算符
任何运算符
运算符之间
EXISTS运算符
IN运算符
LIKE运算符
现在让我们创建一个表来了解特殊运算符的示例-
<员工>
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
1 | 亚伦 | 10000 | 10 | 技术 |
2 | 哈里 | 12000 | 20 | 运作方式 |
3 | 玛丽 | 5000 | 30 | 金融 |
4 | 天使 | 55000 | 10 | 技术 |
5 | 将 | 20000 | 30 | 金融 |
<家属>
Dep_ID | Emp_ID | 部门名称 | 年龄 |
---|---|---|---|
1001 | 2 | 基思 | 88 |
1002 | 3 | 金 | 5 |
1003 | 5 | 露西 | 90 |
使用上面的表的所有特殊运算符的详细信息是-
ALL运算符将一个值与子查询返回的所有值进行比较,并且仅在满足所有值的给定条件时才为true。例如-
Select * from Employee Where Emp_Salary > ALL (select Emp_Salary from Employee where Emp_DeptID=30);
此查询返回薪水大于部门编号30中所有雇员的薪水(在本例中为Angel)的所有雇员的详细信息。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
4 | 天使 | 55000 | 10 | 技术 |
ANY运算符将一个值与该子查询返回的所有值进行比较,并且仅当该值集中的任何值均满足给定条件时才为true。例如-
Select * from Employee Where Emp_salary > ANY (select Emp_Salary from Employee where Emp_DeptID=30);
此查询返回所有薪水高于部门编号30中甚至一名雇员的工资的所有雇员的详细信息,在本例中为Aaron,Harry,Angel和Will。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
1 | 亚伦 | 10000 | 10 | 技术 |
2 | 哈里 | 12000 | 20 | 运作方式 |
4 | 天使 | 55000 | 10 | 技术 |
5 | 将 | 20000 | 30 | 金融 |
BETWEEN运算符返回给定值范围内的信息,其中指定了范围的最小值和最大值。例如-
Select * from Employee Where Emp_Salary BETWEEN 20000 AND 60000;
此查询返回有关薪水在20000到60000之间的所有雇员的信息,在这种情况下,即Angel和Will。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
4 | 天使 | 55000 | 10 | 技术 |
5 | 将 | 20000 | 30 | 金融 |
EXISTS运算符仅在子查询返回至少一条记录(即给定子查询存在一些数据)时才返回true。例如-
Select * from Employee Where EXISTS (select * from Dependents where Employee.Emp_ID=dependents.Emp_ID);
该查询将仅返回那些有任何受养人(即哈利,玛丽和威尔)的雇员的结果。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
2 | 哈里 | 12000 | 20 | 运作方式 |
3 | 玛丽 | 5000 | 30 | 金融 |
5 | 将 | 20000 | 30 | 金融 |
如果查询产生的值包含在IN运算符的常量值列表中,则IN运算符为true。例如-
Select * from Employee Where Emp_ID IN (1,2,5);
该查询提供有关雇员编号为1,2或5的雇员的详细信息,即Aaron,Harry和Will。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
1 | 亚伦 | 10000 | 10 | 技术 |
2 | 哈里 | 12000 | 20 | 运作方式 |
5 | 将 | 20000 | 30 | 金融 |
LIKE运算符用于选择与查询中指定的模式匹配的值。为此使用了两个通配符。例如-
Select * from Employee Where Emp_Name LIKE “A%”
此查询返回名称以A开头的所有雇员的数据,在本例中为Aaron和Angel。
Emp_ID | Emp_Name | Emp_Salary | Emp_DeptID | Emp_DeptName |
---|---|---|---|---|
1 | 亚伦 | 10000 | 10 | 技术 |
4 | 天使 | 55000 | 10 | 技术 |