SQL中的特殊运算符

SQL中不同的特殊运算符如下-

  • 所有运算符

  • 任何运算符

  • 运算符之间

  • EXISTS运算符

  • IN运算符

  • LIKE运算符

现在让我们创建一个表来了解特殊运算符的示例-

<员工>

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
1亚伦1000010技术
2哈里1200020运作方式
3玛丽500030金融
4天使5500010技术
52000030金融

<家属>

Dep_IDEmp_ID部门名称年龄
10012基思88
100235
10035露西90

使用上面的表的所有特殊运算符的详细信息是-

所有运算符

ALL运算符将一个值与子查询返回的所有值进行比较,并且仅在满足所有值的给定条件时才为true。例如-

Select * from Employee
Where Emp_Salary > ALL (select Emp_Salary from Employee
where Emp_DeptID=30);

此查询返回薪水大于部门编号30中所有雇员的薪水(在本例中为Angel)的所有雇员的详细信息。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
4天使5500010技术

任何运算符

ANY运算符将一个值与该子查询返回的所有值进行比较,并且仅当该值集中的任何值均满足给定条件时才为true。例如-

Select * from Employee
Where Emp_salary > ANY (select Emp_Salary from Employee
where Emp_DeptID=30);

此查询返回所有薪水高于部门编号30中甚至一名雇员的工资的所有雇员的详细信息,在本例中为Aaron,Harry,Angel和Will。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
1亚伦1000010技术
2哈里1200020运作方式
4天使5500010技术
52000030金融

运算符之间

BETWEEN运算符返回给定值范围内的信息,其中指定了范围的最小值和最大值。例如-

Select * from Employee
Where Emp_Salary BETWEEN 20000 AND 60000;

此查询返回有关薪水在20000到60000之间的所有雇员的信息,在这种情况下,即Angel和Will。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
4天使5500010技术
52000030金融

EXISTS运算符

EXISTS运算符仅在子查询返回至少一条记录(即给定子查询存在一些数据)时才返回true。例如-

Select * from Employee
Where EXISTS (select * from Dependents where
Employee.Emp_ID=dependents.Emp_ID);

该查询将仅返回那些有任何受养人(即哈利,玛丽和威尔)的雇员的结果。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
2哈里1200020运作方式
3玛丽500030金融
52000030金融

IN运算符

如果查询产生的值包含在IN运算符的常量值列表中,则IN运算符为true。例如-

Select * from Employee
Where Emp_ID IN (1,2,5);

该查询提供有关雇员编号为1,2或5的雇员的详细信息,即Aaron,Harry和Will。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
1亚伦1000010技术
2哈里1200020运作方式
52000030金融

LIKE运算符

LIKE运算符用于选择与查询中指定的模式匹配的值。为此使用了两个通配符。例如-

Select * from Employee
Where Emp_Name LIKE “A%”

此查询返回名称以A开头的所有雇员的数据,在本例中为Aaron和Angel。

Emp_IDEmp_NameEmp_SalaryEmp_DeptIDEmp_DeptName
1亚伦1000010技术
4天使5500010技术