Loading...

DB/Oracle / / 2022. 2. 9. 15:43

DB 27강. 서브쿼리

반응형

 

-- 테이블에 별칭을 주는 것도 가능하다.
-- SELECT *를 쓰면 더이상 열 추가가 되지 않기때문에
-- e.*이라고 사용하면 된다.
SELECT e.*, max(sal) 
FROM emp e;

 


SELECT max(sal) 
FROM emp;

SELECT * 
FROM emp 
WHERE sal = 5000;

가장 높은 월급을 받는 사람을 찾기 위해 이렇게 찾는 것은 

사람이 눈으로 보고 적어야 하니까

프로그램이라고 할 수 없다.

 


 

-- WHERE절에 붙어있는 서브쿼리는 그냥 서브쿼리
SELECT * 
FROM emp 
WHERE sal = (
	SELECT max(sal) 
   	FROM emp
);

이때 쿼리문을

WHERE절의 조건으로 넣어주면 된다.

 

이것을 단일행 서브 쿼리라고 한다.

 

서브 쿼리의 결과가 단일행이므로

단일행 서브 쿼리이다.

 

-- =은 같다이니까 in을 사용
SELECT * 
FROM emp 
WHERE sal in (
	SELECT sal 
	FROM emp 
	WHERE sal > 2000
);

만약 서브 쿼리문의 결과가

여러 개라면

in을 사용해준다.

 

이를 다중행 서브 쿼리라고 한다.

 

 

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

 

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 

반응형