기출문제/정보처리기사

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;

😄📘