본문 바로가기
MySQL/실습문제

[EXERCISES] 6. 실습예제(3-2)

by Fletcher 2024. 8. 7.

 

저번 포스트에 이어서 실습예제3 두 번째 파트입니다 ^^

 

 

 

Q5.

 

stock_quantity 컬럼의 값이 가장 적은 책 3권에 대해

title, released_year, stock_quantity 컬럼의 정보를 조회하는 문제입니다.

 

 

 

A5.

 

SELECT title, released_year, stock_quantity FROM books

ORDER BY stock_quantity ASC, released_year DESC limit 0, 3;

 

정렬 기준은 우선 stock_quantity 컬럼의 값이 가장 낮은 3개의 컬럼이었습니다

여기에 값이 동일할 경우 released_year 컬럼의 값을 기준으로 다시 내림차순 정렬을 해줬습니다 ^^

 

 

 

 

 

Q6.

 

author_lname과 title컬럼을 기준으로 내림차순 정렬 후,

title과 author_lname 컬럼을 조회하는 문제입니다.

 

 

 

A6.

 

select title, author_lname from books order by author_lname, title desc;

 

먼저는 author_lname컬럼이 정렬의 1 기준이고,

해당 컬럼의 값이 같을 경우(저자가 동일인일 경우)

title 컬럼을 기준으로 다시 내림차순 하는 것이 2 기준이었습니다 ^^

 

 

 

 

 

Q7.

 

author_lname을 기준으로 정렬하되,

"My favorite author is"와 "!"라는 임의의 문자열을 추가하고

대문자로 변환하여 조회하는 문제입니다.

 

 

 

A7.

 

SELECT upper(concat('My favorite author is ', author_fname, ' ', author_lname, ' !')) AS yell

FROM books ORDER BY author_lname DESC;

 

concat() 함수를 이용해, 임의의 문자열과 두 컬럼을 합쳐준 다음

다시 upper() 함수를 이용해 대문자화 한 다음

author_lname 컬럼을 기준으로 내림차순 정렬하여 조회하면 되겠습니다 ^^

 

 

 

 

 

Q8.

 

releaesd_year 컬럼의 값이 1980 이전인 책을 조회하는 문제입니다.

 

 

 

A8.

 

SELECT * FROM books WHERE released_year < 1980;

 

굉장히 간단한 문제입니다 ^^

WHERE 구에 조건 하나만 추가하여 조건 조회하면 되겠습니다 ^^

 

해당 조건으로 조회를 하니 레코드가 하나 밖에 조회되지 않네요

정말로 해당 조건에 부합하는 데이터가 하나 밖에 없는지 한 번 확인해보겠습니다

 

 

books 테이블에 대해 released_year 컬럼을 기준으로 오름차순 정렬을 하니,

1980년 이전에 출간된 책은 한 권 밖에 없는게 맞네요 ^^

 

 

 

 

이번 포스트에서는 실습문제 8번까지 함께 풀었습니다

나머지 문제는 다음 포스트에 이어서 함께 살펴보겠습니다 ^^!

'MySQL > 실습문제' 카테고리의 다른 글

[EXERCISES] 8. 실습예제(3-4)  (0) 2024.08.07
[EXERCISES] 7. 실습예제(3-3)  (0) 2024.08.07
[EXERCISES] 5. 실습예제(3-1)  (0) 2024.08.07
[EXERCISES] 4. 실습예제(2-2)  (0) 2024.08.07
[EXERCISES] 3. 실습예제(2-1)  (0) 2024.08.07