DB2的ROW_NUMBER()
编号函数ROW_NUMBER()或ROWNUMBER()返回窗口中每一行的连续的行号,第1行从1开始。如果在窗口中不指定ORDER BY子句,那么行号按子选择返回的行进行编号,语句如下:
SELECT name, dept, salary, row_number() over (partition by dept) as row_number from staff
row_number() over (partition by col1 order by col2) 表示根据col1分组,在分组内部根据 col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
SQL查询:
in条件可以表示为 E [NOT] IN ( V1, V2, ... , Vn ),其语义相当于[NOT] ( E=V1 OR E=V2 OR ... OR E=Vn )。IN后面也可以是一个子查询块;
exists条件表示形式为 [NOT] EXISTS (子查询块),它表示一个子查询块的结果是否存在。如果子查询块的查询结果非空,则EXISTS(子查询块)为真,否则为假。