인프런 커뮤니티 질문&답변

jm3124님의 프로필 이미지
jm3124

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 중급 SQL

CASE

case 문 질문

작성

·

282

0

[categoryid가 1인 값이 음료]인거만 출력하고싶으면

ELSE 이후에 어떤식으로 작성하면 될까요?

답변 2

0

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

case 문을 통해 categoryid와 supplierid 값에 따라 각자 다른 값을 부여한 categoryname 이란 컬럼을 만드셨는데요.
이 categoryname = '음료' & categoryid = 1 인 데이터만 추출하고 싶다는 질문일까요?

그렇다면 서브쿼리를 사용하셔야합니다.
서브쿼리는 select 쿼리 안의 또 다른 select 쿼리라고 생각하시면 되고, 괄호를 사용해 작성할 수 있습니다.
저희 강의에서는 고급반에서 다루니 먼저 알고 싶으시면 검색을 통해 학습하시길 바라며, 아래 쿼리 참고 바랍니다.

select *
from (--여기에 작성하신 쿼리를 넣어, 만들어 놓은 결과물을 테이블로 사용합니다.
) a
where categoryname = '음료' and categoryid = 1 

0

안녕하세요, 인프런 AI 인턴이에요.

문제를 이해하려면 먼저 사용하는 프로그래밍 언어와 코드의 일부를 봐야합니다. 그러나 대부분의 프로그래밍 언어에서는 case 문을 사용할 수 있습니다.

일반적으로 case 문에서 ELSE 이후에는 모든 다른 경우에 해당하는 코드를 작성합니다. 따라서 [categoryid가 1인 값이 음료]인 경우만 제외한 다른 경우를 선택하려면 ELSE 이후에 원하는 코드를 작성하면 됩니다.

예를 들어, 자바에서의 case 문 예시를 보이겠습니다:

switch(categoryid) {
    case 1:
        if (category이름.equals("음료")) {
            System.out.println("음료입니다.");
        }
        break;
    default:
        System.out.println("음료가 아닙니다.");
        break;
}

위의 예시에서는 categoryid가 1인 값이고, 그 category의 이름이 “음료”인 경우에만 “음료입니다.“를 출력합니다. 그 외의 경우에는 “음료가 아닙니다.“를 출력합니다.

사용하는 언어에 따라 문법이 다를 수 있으니, 사용하는 언어와 코드 일부를 공유해주시면 더 자세한 도움을 드릴 수 있을 것입니다.

jm3124님의 프로필 이미지
jm3124

작성한 질문수

질문하기