From 5a494bb20baf3abc41378a3ee905992220b304c0 Mon Sep 17 00:00:00 2001 From: syneffort Date: Thu, 22 Sep 2022 10:50:22 +0900 Subject: [PATCH] join --- join (ansi).sql | 12 ++++++++++++ join (cartesian).sql | 31 +++++++++++++++++++++++++++++++ simple join.sql | 13 +++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 join (ansi).sql create mode 100644 join (cartesian).sql create mode 100644 simple join.sql 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