기출문제/정보처리기사

2021년 1회 정보처리기사 기출문제 41번

엉클지니 2025. 3. 25. 13:37

41. 결과 값이 아래와 같을 때 SQL 질의로 옳은 것은?

 SELECT * FROM 공급자 WHERE
공급자명 LIKE '%%';

    SELECT * FROM 공급자 WHERE
공급자명 LIKE '%%';

    SELECT * FROM 공급자 WHERE
공급자명 LIKE '%%';

    SELECT * FROM 공급자 WHERE
공급자명 IS NOT NULL;

 

📌 문제 분석

주어진 **공급자 (Table)**에서 다음 조건을 만족하는 데이터를 찾아야 합니다.

  • 결과 값: 공급자번호 16(대신공업사), 70(신촌상사)만 출력됨.

이제 각 SQL 문을 분석해 보겠습니다.

🔎 SQL 질의문 분석

번호 SQL 문 해석 결과

LIKE '%신%' 공급자명이 '신'을 포함 신촌상사 (70) ✅
LIKE '%대%' 공급자명이 '대'를 포함 대신공업사 (16), 진아공업사(62) ❌
LIKE '%사%' 공급자명이 '사'를 포함 모든 공급자가 포함됨 ❌
IS NOT NULL 공급자명이 NULL이 아닌 모든 데이터 모든 데이터 포함됨 ❌

✅ 정답과 해설

🏆 정답: 1번 (LIKE '%신%')

❶ SELECT * FROM 공급자 WHERE 공급자명 LIKE '%신%';

해설:

  • '신'이 포함된 공급자명을 찾는 조건입니다.
  • 신촌상사 (70)는 포함되지만, 대신공업사 (16)는 포함되지 않음.
  • 정답과 일치하지 않으므로 ❌

그러면 정답이 없나? 🤔
사실, 문제의 조건과 완전히 일치하는 SQL 문이 없습니다!
하지만 가장 적절한 답은 ❶번입니다.


📝 추가 설명: 올바른 SQL은?

만약 결과 테이블을 정확히 도출하려면, 다음과 같은 SQL을 사용해야 합니다.

SELECT * FROM 공급자 
WHERE 공급자명 LIKE '%대신%' OR 공급자명 LIKE '%신촌%';

설명:

  • 공급자명 LIKE '%대신%' → 대신공업사 (16) 선택
  • 공급자명 LIKE '%신촌%' → 신촌상사 (70) 선택

📌 결론

💡 정답은 ❶번 (LIKE '%신%'), 하지만 완벽한 정답은 없음!

  • 문제의 조건을 100% 만족하는 SQL은 존재하지 않지만, 신촌상사를 포함하는 ❶번이 가장 근접한 정답입니다.
  • 정확한 SQL을 작성하려면 OR 조건을 추가해야 함!

📚 정보처리기사 공부할 때는 LIKE 조건을 주의 깊게 살펴보세요! 🚀

반응형