what are window functions, explain rank and dense rank explain joins and no of outputs for each join for a given table, where vs having clause second highest salary for each department partition vs bucketing, when to choose each, python code to remove duplicate from a list list vs tuple vs dict. py thon code to find combinations from list [2,3,5] where sum is 8.