문제
회원 중에서 가입일이 2024년 6월 3일 이전인 준회원을 정회원으로 변경하려고 할 때, 알맞은 SQL문은? (단, 회원 테이블에는 회원번호, 성명, 가입일, 연락처, 등급 등의 필드가 있으며, 회원 등급은 ‘등급’ 필드에 저장되어 있다.)
① UPDATE 회원 SET 등급 = '정회원' WHERE 가입일 <= #2024-06-03# AND 등급 = '준회원' ② UPDATE 회원 SET 등급 = '정회원' WHERE 가입일 <= "2024-06-03" AND 등급 = '준회원' ③ UPDATE 회원 SET 등급 = '정회원' WHERE 가입일 <= #2024-06-03# ④ UPDATE 회원 SET 등급 = '정회원' WHERE 가입일 <= "2024-06-03"
정답
1번
해설
정답: 1. Access SQL에서 날짜 리터럴은 #으로 감싸며, 가입일 조건과 등급 조건을 AND로 모두 만족해야 한다.
오답 풀이
- 1번: 날짜 형식과 조건이 모두 적절하다.
- 2번: Access에서 날짜 리터럴은 일반적으로 #으로 감싼다.
- 3번: 준회원 조건이 빠져 있어 모든 회원의 등급이 변경될 수 있다.
- 4번: 날짜 형식이 부적절하고 준회원 조건도 빠져 있다.
보충 개념
UPDATE 문은 UPDATE 테이블 SET 필드=값 WHERE 조건 형식으로 데이터를 수정한다.