[SQL] SubQuery문, LIMIT

이병수·2023년 12월 26일

SQL

목록 보기
3/6
post-thumbnail

서브 쿼리문 & LIMIT 에 대하여


SUBQUERY


서브 쿼리란?

하나의 쿼리문 안에 또 다른 하나의 쿼리문을 의미한다.

서브 쿼리가 사용 가능 한 곳은??

SELECT, FROM, WHERE, HAVING, ORDER BY

서브 쿼리문 예제

SELECT A1,A2,A3
FROM T1
WHERE C1 < ( SELECT B1,B2,B3
             FROM T2
             WHERE C2
            ) AS T3
ORDER BY C1,C2;

이런 식으로 서브 쿼리문을 작성한다.

서브쿼리를 사용할 때 주의할 점

  1. 서브쿼리는 괄호를 통해 사용

  2. 서브쿼리는 단일 행 or 복수 행 비교 연산자와 함께 사용 가능

  3. ORDER BY를 사용하지 못함

서브쿼리의 위치

  • SELECT 절에서 사용되는 경우
SELECT A1,A2,
      (
      SELECT AVG(A2)
      FROM T1
      WHERE A1 >= ..
      ) AS T3
FROM T2

  • FROM 절에서 사용되는 경우
SELECT T1.A1, T1.A2, T2.B1, T2.B2
FROM T1, (
         SELECT B1,B2
         FROM T2
		) AS T2
WHERE T1.A3 = T2.A3

- WHERE 절에서 사용되는 경우
SELECT *
FROM T1
WHERE A1 IN
      ( SELECT B1
        FROM T2
        WHERE B2 = '~~'
	  )




LIMIT


LIMIT이란?

영어 그대로 제한이란 의미를 가진다.


SELECT + LIMIT

SELECT 칼럼명
FROM 테이블명
LIMIT 출력수

가장 비싼 가격 2개만 보고 싶다는 예시

SELECT price
FROM restaurant
ORDER BY price DESC
LIMIT 2;



SELECT + WHERE + LIMIT

SELECT 칼럼명
FROM 테이블명
WHERE 조건
LIMIT 출력수

음식점에서 고기 종류 중에서 2개만 보고 싶다는 예시

SELECT *
FROM restaurant
WHERE food_type = 'meat'
LIMIT 2;
profile
백엔드 개발자가 되고 싶어요

0개의 댓글