코딩일기/자격증

[정보처리기사] 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
반응형