0% found this document useful (0 votes)
3 views

Snowflake Query Practice

Uploaded by

roy.saikot95
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Snowflake Query Practice

Uploaded by

roy.saikot95
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

SELECT AIRLINE

FROM PILOT
GROUP BY AIRLINE
HAVING SUM(SALARY) > (SELECT AVG(SALARY) FROM PILOT);

-----------------------------------------------------------

SELECT * FROM EMPLOYEES ORDER BY SALARY DESC LIMIT 5;

SELECT * FROM EMPLOYEES


QUALIFY DENSE_RANK() OVER (ORDER BY SALARY DESC) <= 5 ;

SELECT * FROM (
SELECT *,DENSE_RANK() OVER (ORDER BY SALARY DESC) AS RNK
FROM EMPLOYEES
) WHERE RNK <= 5 ;

SELECT * FROM EMPLOYEES Q


WHERE 6-1 >= (SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES I WHERE I.SALARY >=
Q.SALARY);

-----------------------------------------------------------------------------------
-----

SELECT * FROM EMPLOYEES


QUALIFY DENSE_RANK() OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY DESC) =2 ;

SELECT * FROM (
SELECT *,DENSE_RANK() OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY DESC) AS
RNK
FROM EMPLOYEES
) WHERE RNK =2 ;

SELECT * FROM EMPLOYEES Q


WHERE 3-1 = (SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEES I WHERE I.SALARY > Q.SALARY
AND Q.DEPARTMENT_ID = I.DEPARTMENT_ID);

-----------------------------------------------------------------------------------
--------

SELECT E.EMPLOYEE_ID AS EMP,M.EMPLOYEE_ID AS MGR


FROM EMPLOYEES E
LEFT JOIN EMPLOYEES M
ON E.MANAGER_ID = M.EMPLOYEE_ID
ORDER BY 1 ASC;

-----------------------------------------------------------------------------------
--------
SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY EMPLOYEE_ID) AS RNK,*
FROM EMPLOYEES
) WHERE MOD(RNK,2)=1;

SELECT * FROM EMPLOYEES


QUALIFY MOD(ROW_NUMBER() OVER (ORDER BY EMPLOYEE_ID),2) = 1;

-----------------------------------------------------------------------------------
----------

SELECT QUATER, COUNT(QUATER) FROM (


SELECT CASE
WHEN EXTRACT(MONTH FROM HIRE_DATE) IN (1,2,3) THEN 'Q1'
WHEN EXTRACT(MONTH FROM HIRE_DATE) IN (4,5,6) THEN 'Q2'
WHEN EXTRACT(MONTH FROM HIRE_DATE) IN (7,8,9) THEN 'Q3'
WHEN EXTRACT(MONTH FROM HIRE_DATE) IN (10,11,12) THEN 'Q4'
END AS QUATER
FROM EMPLOYEES
)
GROUP BY QUATER;

-----------------------------------------------------------------------------------
----------

You might also like