SQL 代码背后的逻辑不清楚



我遇到了如下SQL代码

SELECT  DISTINCT FLD1, FLD2, FLD3, FLD4 FROM            
TBL1 WHERE FLD1 = 'MFG' AND FLD2 = '1'

我的疑问在于 FLD1 之前应用的 DISTINCT 关键字。有一个过滤条件,即仅选择 FLD1 = 'MFG' 的那些记录。那么,与众不同有什么不同吗?

我在没有 DISTINCT 的情况下运行了相同的 SQL,并且检索的记录数与 DISTINCT 相同。

这是为 iSeries 上的 DB2 数据库编写的。

它消除了所有重复的记录,只获取唯一的记录。

例:

表员工

Id     Name      Salary
1      Alex      2000
2      Alxender  1000
3      Paul      2000
4      Alex      2000
select distinct Salary 
from Employees;

它将返回:

Salary
2000
1000
select distinct Name,Salary 
from Employees;

将返回:

Name      Salary
Alex      2000
Alxender  1000
Paul      2000

查询:

select distinct Salary,Name 
from Employees 
where salary = 2000;

将返回:

Name      Salary
Alex      2000    
Paul      2000

相关内容

  • 没有找到相关文章

最新更新