코딩일기/자격증
[정보처리기사] SQL | WHERE 절 AND OR 우선순위 | COUNT 함수 문제 | 2024년 1회 정보처리기사 실기 기출문제
jhy_2023
2025. 4. 7. 14:14
728x90
반응형
2024년 1회 정보처리기사 실기 기출문제
문제
아래와 같은 테이블이 있을때, 다음 SQL 문의 결과는?
SELECT
COUNT(*)
FROM
TABLE
WHERE
EMPNO > 100
AND
SAL >= 3000
OR
EMPNO = 200;
정답
1
반응형
해설
1️⃣ COUNT(*) 함수
- COUNT(*)는 테이블에서 조건을 만족하는 행(row)의 개수를 세는 집계 함수입니다.
- WHERE 절과 함께 사용하면, 조건을 만족하는 행만 세기 때문에 이 조건을 정확히 이해하는 것이 핵심입니다.
2️⃣ WHERE 절 조건 분석
WHERE EMPNO > 100
AND SAL >= 3000
OR EMPNO = 200
SQL의 연산자 우선순위에 따라 AND가 OR보다 먼저 평가됩니다. 따라서 아래처럼 괄호를 씌운 것처럼 해석됩니다:
WHERE (EMPNO > 100 AND SAL >= 3000)
OR EMPNO = 200
728x90
3️⃣ 조건 대입 및 최종 결과
이제 각 행에 대해 조건을 적용해 봅니다.
- EMPNO=100: 두 조건 모두 불만족 → 제외
- EMPNO=200: (EMPNO > 100 AND SAL >= 3000)도 만족, EMPNO = 200도 만족 → 포함
- EMPNO=300: EMPNO는 조건을 만족하지만 SAL은 만족하지 않음 → 제외
조건을 만족하는 행은 오직 EMPNO=200 한 행입니다. 따라서 COUNT(*)는 이 1개의 행을 세고, 결과는:1
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형