DATABASE/MySQL Workbench

MySQL Workbench : Sub Query 사용법

신강희 2024. 5. 15. 17:31
728x90

< MySQL Sub Query 사용법 >

# MySQL에서의 Subquery는 다른 쿼리 안에 중첩된 쿼리를 말한다.

# 쿼리는 데이터베이스에서 정보를 가져오거나 조작하기 위해 사용되는 명령어 집합 (ex. select, insert 등)

 

# 이전 생성한 스키마(DB)와 테이블로 이어서 진행

# 참고 : https://sorktjrrb.tistory.com/105

 

MySQL Workbench : 문자열 처리 함수들 (concat, concat_ws, substring)

# 문자열 처리 함수 학습을 위해 books 라는 새로운 테이블 생성ㄴ 혹시 테이블을 수정하고 싶으면 좌측 목록에서 체크된 아이콘을 누르면 수정 가능! # yhdb 를 사용하였으므로, 해당 db 사용 문구

sorktjrrb.tistory.com

 

# Sub Query

-- 페이지수가 가장 긴 책의, 제목은 무엇입니까?
-- 해결방법 1. 정렬해서 limit 사용

select title
from books
order by pages desc
limit 1;

 

-- 해결방법 2. Sub Query 하는 방법
-- max 값을 구하는 쿼리문을 먼저 작성

select max(pages) from books;

-- 이후 where 조건문 뒤에 아까 구한 쿼리문을 넣어서 사용

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

ㄴ 이외에도 조건에 따라, from 절, select 절, having 절 등 원하는 위치에 Subquery를 사용하면 복잡한 데이터 검색 및 조작을 수행할 수 있으며, 더욱 유연한 쿼리 작성이 가능하다.

ㄴ 그러나 성능상의 이슈가 발생할 수 있으므로 적절한 인덱스를 사용하고 쿼리를 최적화하는 것이 중요

 

-- stock_quantity 가 가장 적은 책의,
-- 책이름과 작가의 이름 (author_fname, author_lname)을 보여주세요.

-- 최소값을 구하는 쿼리문

select min( stock_quantity) 
from books;

-- where 조건에 이전 작성한 쿼리 중첩 사용

select title, author_fname, author_lname
from books
where stock_quantity = (select min( stock_quantity) from books);

 

다음 게시글로 계속..!

반응형