diff --git a/join (ansi).sql b/join (ansi).sql new file mode 100644 index 0000000..3063f6a --- /dev/null +++ b/join (ansi).sql @@ -0,0 +1,12 @@ +USE Study +GO + +-- INNER JOIN +SELECT ENAME, DNAME +FROM EMPLOYEE + INNER JOIN DEPARTMENT ON EMPLOYEE.DNO = DEPARTMENT.DNO + +-- OUTER JOIN +SELECT E.ENAME AS EMPLOYEE, M.ENAME AS MANAGER +FROM EMPLOYEE AS E + LEFT OUTER JOIN EMPLOYEE AS M ON E.MANAGER = M.ENO \ No newline at end of file diff --git a/join (cartesian).sql b/join (cartesian).sql new file mode 100644 index 0000000..1680e1a --- /dev/null +++ b/join (cartesian).sql @@ -0,0 +1,31 @@ +USE Study +GO + +SELECT * FROM EMPLOYEE +SELECT * FROM DEPARTMENT + +-- Cartesian product: ¸ðµç Æ©ÇÃ½Ö »ý¼º (same as Cross join) +SELECT * FROM EMPLOYEE, DEPARTMENT + +select * from EMPLOYEE +select * from SALGRADE + +-- Theta join +SELECT ENAME, GRADE +FROM EMPLOYEE, SALGRADE +WHERE LOWSAL <= SALARY AND SALARY <= HIGHSAL + +SELECT ENAME, GRADE +FROM EMPLOYEE, SALGRADE +WHERE SALARY BETWEEN LOWSAL AND HIGHSAL + +-- Self join +SELECT E.ENAME AS ENAME, M.ENAME AS MANAGER +FROM EMPLOYEE AS E, EMPLOYEE AS M +WHERE E.MANAGER = M.ENO + +-- Mulitple join +SELECT ENAME, GRADE, DNAME +FROM EMPLOYEE, SALGRADE, DEPARTMENT +WHERE SALARY BETWEEN LOWSAL AND HIGHSAL + AND EMPLOYEE.DNO = DEPARTMENT.DNO \ No newline at end of file diff --git a/simple join.sql b/simple join.sql new file mode 100644 index 0000000..297cf9c --- /dev/null +++ b/simple join.sql @@ -0,0 +1,13 @@ +USE Study +GO + +SELECT * FROM EMPLOYEE +SELECT * FROM DEPARTMENT + +SELECT * +FROM EMPLOYEE, DEPARTMENT +WHERE ENO = 103 AND EMPLOYEE.DNO = DEPARTMENT.DNO + +SELECT * +FROM EMPLOYEE AS E, DEPARTMENT AS D +WHERE ENO = 103 AND E.DNO = D.DNO \ No newline at end of file