본문 바로가기

보안/인프라

SQL Query - 서브쿼리 사용법

member 테이블

 

서브쿼리

- 하나의 SELECT 문장 안에 존재하는 또 하나의 SELECT문장이 있는 SQL 쿼리문.

- 쿼리문 전체를 메인쿼리, 안에 있는 또다른 SELECT문은 서브쿼리라고 함.

- 비교 연산자와 사용 시.. 오른쪽에 존재해야 함. 괄호 안에 넣어야 함.

- 메인 쿼리 실행되기 전에 한 번만 실행.

 

에러발생. 당연함
이런 느낌으로 사용한다.

 

 

서브쿼리의 예시

1) 조건문 등의 표현식에 사용되는 서브쿼리

SELECT * FROM table_name WHERE column_name=(SELECT column_name FROM table_name);

2) FROM절에 사용되는 서브쿼리

SELECT ALIAS.column_name FROM (SUBQUERY) [AS] ALIAS ...

EX)
SELECT exam.userid FROM (SELECT * FROM member WHERE name like '%o%') AS exam;

결과

[TIP]

- exam.userid 에서 exam은 생략 가능

- 서브쿼리 뒤 AS 생략 가능

- 별칭(ALIAS) 생략 불가능

- 서브쿼리는 반드시 괄호 안에 넣을 것.