기출문제/정보처리기사
2020년 3회 정보처리기사 기출문제 53번
엉클지니
2025. 4. 9. 16:18
53. player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?
① (1) ② (2)
③ (3) ❹ (4)
😊
이번 53번 문제는 SQL 문에서 문법 오류가 있는 부분을 찾는 문제예요.
하나하나 분석하면서 어떤 줄이 잘못되었는지 살펴볼게요!
✅ 주어진 SQL 문
(1) SELECT player.name, height
(2) FROM player
(3) WHERE team_id = 'Korea'
(4) AND height BETWEEN 170 or 180;
✅ 각 줄 분석
✅ (1) SELECT player.name, height
- player_name이 컬럼명인데 player.name으로 잘못 작성되어 있음
- 테이블.컬럼 형식도 가능하지만, 테이블 이름은 player이고 컬럼은 player_name이어야 해요
- 따라서 player.player_name 또는 그냥 **player_name**으로 써야 맞아요
→ 살짝 부적절하지만, 이건 문법 오류라기보단 컬럼명 착오
✅ (2) FROM player
- 테이블 이름 player는 정상입니다
✅ 문법상 문제 없음
✅ (3) WHERE team_id = 'Korea'
- 비교 연산자로 문자열 비교 잘 했어요
✅ 문법상 문제 없음
❌ (4) AND height BETWEEN 170 or 180
- ❗ 여기가 진짜 오류 포인트입니다!
✅ 올바른 문법은
height BETWEEN 170 AND 180
🔻 BETWEEN ... OR ...는 문법적으로 틀린 표현이에요!
🧠 BETWEEN 문법 요약
문법 설명
A BETWEEN x AND y | A가 x 이상 y 이하일 때 참 |
❌ BETWEEN x OR y | 잘못된 문법 ❌ |
✅ 정답 및 결론
선택지 해당 줄 문법 오류 여부
① | (1) | 컬럼명 착오 가능성 있지만 문법 오류는 아님 |
② | (2) | 문제 없음 |
③ | (3) | 문제 없음 |
❹ | (4) | 문법 오류 있음 → 정답! 🎯 |
🏁 최종 정답
✅ 정답: ❹ (4)
🔧 수정 예시:
AND height BETWEEN 170 AND 180;
😄📘