ruriruriya

[DB] 데이터베이스 MySQL - 서브쿼리(Sub Query) 사용법 본문

🛢️DB/MySQL

[DB] 데이터베이스 MySQL - 서브쿼리(Sub Query) 사용법

루리야ㅑ 2023. 11. 30. 14:00
반응형

서브쿼리(Sub Query)는 SQL 쿼리 안에 포함된 또 다른 쿼리를 말한다.
서브쿼리는 외부 쿼리의 조건에 따라 결과를 동적으로 생성하고,
그 결과를 이용해 조건을 만족하는 데이터를 조회하는 데 사용된다.

사용할 테이블(books)

 

예제로 다른 방법과 비교해 보자.

예제) pages 가 가장 긴 책의, title 과 pages 를 보여주세요.

방법 01 - pages를 내림차순으로 정리한 다음 limit 키워드로 위에 1행만 가져온다.

select title, pages
from books
order by pages desc
limit 0,1;

방법 02 - max 함수를 사용해서 pages 의 최대값을 찾은 다음 where  키워드로 조건문을 사용해 해당 행을 찾는다.

select max(pages)
from books;
-- 634
select title, pages
from books
where pages = 634;

방법 03 - 쿼리 안에 select 쿼리가 또 들어가는 Sub Query 사용하여 해당 행 찾기

select title, pages
from books
where pages = (select max(pages)from books);

서브쿼리는 SELECT, INSERT, UPDATE, DELETE 등의 명령문 안에서 사용될 수 있으며, 복잡한 조건을 다루거나 동적인 데이터에 기반한 조회를 할 때 유용하다. 하지만 성능 저하나 가독성 저하를 가져올 수 있으므로 적절한 상황에서 사용하는 것이 좋다.

 

DB, 데이터베이스, MySQL,  서브쿼리, Sub Query, 데이터베이스 서브쿼리, DB Sub Query, MySQ 서브쿼리

반응형