parent
5a494bb20b
commit
8506f2eaa0
@ -0,0 +1,49 @@ |
||||
USE Study |
||||
GO |
||||
|
||||
SELECT DNAME |
||||
FROM DEPARTMENT |
||||
WHERE DEPARTMENT.DNO = (SELECT DNO |
||||
FROM EMPLOYEE |
||||
WHERE EMPLOYEE.ENO = 103) |
||||
|
||||
-- 위 쿼리와 동일 |
||||
SELECT DNAME |
||||
FROM DEPARTMENT |
||||
JOIN EMPLOYEE ON EMPLOYEE.DNO = DEPARTMENT.DNO |
||||
WHERE EMPLOYEE.ENO = 103 |
||||
|
||||
|
||||
-- 단일행 서브쿼리 |
||||
SELECT ENO,DNO |
||||
FROM EMPLOYEE |
||||
WHERE EMPLOYEE.DNO = (SELECT DNO FROM EMPLOYEE WHERE EMPLOYEE.ENO = 110) |
||||
|
||||
-- 다중행 서브쿼리 |
||||
SELECT ENAME, ENO,DNO, SALARY |
||||
FROM EMPLOYEE |
||||
WHERE EMPLOYEE.DNO IN (SELECT DNO FROM EMPLOYEE WHERE SALARY >= 500) |
||||
|
||||
SELECT ENAME, ENO,DNO, SALARY |
||||
FROM EMPLOYEE |
||||
WHERE SALARY >= ANY (SELECT SALARY FROM EMPLOYEE WHERE DNO = 20) |
||||
|
||||
SELECT ENAME, ENO,DNO, SALARY |
||||
FROM EMPLOYEE |
||||
WHERE SALARY >= ALL (SELECT SALARY FROM EMPLOYEE WHERE DNO = 10) |
||||
|
||||
SELECT ENAME |
||||
FROM EMPLOYEE |
||||
WHERE EXISTS (SELECT * FROM EMPLOYEE WHERE SALARY + COMMISSION > 500) |
||||
|
||||
SELECT ENO, ENAME, DNO, SALARY |
||||
FROM EMPLOYEE |
||||
WHERE DNO IN (SELECT DNO FROM EMPLOYEE WHERE ENO = 101) |
||||
AND SALARY IN (SELECT SALARY FROM EMPLOYEE WHERE ENO = 101) |
||||
|
||||
|
||||
-- 상호 연관 서브쿼리: 일반적으로 성능이 떨어지며, 조인을 쓰는게 좋음 |
||||
-- (메인 쿼리에 따라 서브쿼리 결과가 달라지는 상호 연관된 서브쿼리는 빈번한 조회를 유발) |
||||
SELECT ENO, ENAME, SALARY, DNO |
||||
FROM EMPLOYEE AS E |
||||
WHERE DNO IN (SELECT DNO FROM EMPLOYEE AS M WHERE E.MANAGER = M.ENO) |
Loading…
Reference in new issue