CASE WHEN 구문
기본 틀
CASE WHEN [조건문] THEN [참] ELSE [거짓] END
ex ) select * from member where seq=(case when 1=1 then 1 else 2 end);
ex ) select case when 1=2 then 'test1' else 'test2' end;
-------------------------------------------------------------------------
서브쿼리
개념
메인쿼리 안에 또 하나의 select 구문이 들어가는 형태
형태를 보자면
SELECT (SubQuery) FROM (SubQuery) a WHERE [COLUMN] = (SubQuery)
인데 어떤 위치에 오냐에 따라서 서브쿼리의 명칭이 다르다
1 ) SELECT 다음에 오는 SubQuery를 스칼라 서브쿼리라고 부름
2) FROM 다음에 오는 SubQuery를 인라인 뷰라고 부름
3) [ COLUMN ] = 다음에 오는 SubQuery를 일반 서브쿼리라고 부름
서브쿼리의 종류
- 단일 행 서브쿼리
- 다중 행 서브쿼리
예를 들어, SELECT name, (select version()) from member ;
라고 입력하면 name 한 개가 호출될 때마다 그에 맞는 version이 같이 호출된다.
다중행 서브쿼리를 사용할 때는 in 연산자를 같이 사용해줘야 출력이 가능해진다.
ex ) select * from member where seq in (select seq from member);
'Study > SQL' 카테고리의 다른 글
[ Oracle ] 프로시저란? (0) | 2023.10.25 |
---|---|
[ SQLD ] 빈출 개념 정리 #2 (0) | 2023.08.21 |
[ SQLD ] 빈출 개념 정리 #1 (0) | 2023.08.17 |
성공적인 SQL Injection을 위한 SQL 문법 - ORDER by 절, 레코드 출력 개수 제한 (0) | 2023.04.16 |
성공적인 SQL Injection을 위한 문법 - 문자열함수 (0) | 2023.04.15 |