diff --git a/set operator.sql b/set operator.sql new file mode 100644 index 0000000..2ef902d --- /dev/null +++ b/set operator.sql @@ -0,0 +1,51 @@ +USE Study +GO + +(SELECT * FROM EMPLOYEE WHERE DNO = 10) +UNION +(SELECT * FROM EMPLOYEE WHERE JOB = 'chief') + +(SELECT * FROM EMPLOYEE WHERE DNO = 10) +INTERSECT +(SELECT * FROM EMPLOYEE WHERE JOB = 'chief') + +(SELECT * FROM EMPLOYEE WHERE DNO = 10) +EXCEPT +(SELECT * FROM EMPLOYEE WHERE JOB = 'chief') + +-- Áߺ¹ Çã¿ë ÇÕÁýÇÕ +(SELECT * FROM EMPLOYEE WHERE DNO = 10) +UNION ALL +(SELECT * FROM EMPLOYEE WHERE JOB = 'chief') + +-- ¿ÜºÎ ÇÕÁýÇÕ (ÇÕº´ ȣȯ¼º[: ¼Ó¼º °³¼ö ¹× ŸÀÔ ÀÏÄ¡] ºÒÀÏÄ¡ ÇÒ ¶§) +(SELECT ENO, ENAME, DNO, NULL FROM EMPLOYEE) +UNION +(SELECT NULL, NULL, DNO, DNAME FROM DEPARTMENT) + +-- Áý´Ü ¿¬»êÀÚ +SELECT AVG(SALARY) FROM EMPLOYEE + +SELECT MAX(SALARY) AS MAXSALARY, MIN(SALARY) AS MINSALARY FROM EMPLOYEE + +SELECT AVG(SALARY) AS AVERAGE, VAR(SALARY) AS VARIANCE, STDEV(SALARY) AS STANDARDDEVIATION FROM EMPLOYEE + +SELECT * FROM EMPLOYEE +SELECT COUNT(*) AS NUMROW, COUNT(COMMISSION) FROM EMPLOYEE + +SELECT * FROM EMPLOYEE +SELECT COUNT(JOB) AS JOB, COUNT(DISTINCT JOB) AS DISTJOB FROM EMPLOYEE + +SELECT DNO, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY DNO + +SELECT DNO, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY DNO HAVING MAX(SALARY) > 500 + +SELECT DNO, JOB, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY DNO, JOB ORDER BY DNO + +SELECT DNO, JOB, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY DNO, JOB WITH ROLLUP + +SELECT DNO, JOB, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY DNO, JOB WITH CUBE + +SELECT DNO, JOB, AVG(SALARY) AS AVGSAL FROM EMPLOYEE GROUP BY GROUPING SETS (DNO, JOB) -- DNO, JOB µû·Î ÇÑ °ÍÀ» UNION ÇØ¼­ º¸¿©ÁÜ + +