코딩일기/자격증

[정보처리기사] IN 연산자로 특정 조건 필터링하는 SQL문 작성법 | 2020년 2회 정보처리기사 실기 기출문제

jhy_2023 2024. 10. 2. 10:22
728x90
반응형

문제

다음은 학생 테이블에 대한 문제입니다. 학생 테이블은 학번, 이름, 학년, 수강과목, 점수, 연락처를 속성으로 가집니다. 아래 조건을 만족하는 SQL문을 작성하세요.

  1. 학생 테이블에서 3학년과 4학년인 학생의 학번과 이름을 조회한다.
  2. IN 연산자를 사용해야 한다.

반응형

정답

SELECT 학번, 이름 
FROM 학생 
WHERE 학년 IN (3, 4);

해설

이 문제는 IN 연산자를 사용하여 특정 조건을 만족하는 데이터를 조회하는 문제입니다. 

1. SELECT 문

  • SELECT 학번, 이름을 통해 조회할 필드를 지정합니다. 여기서는 학생의 학번과 이름만 필요하므로 두 개의 컬럼만 선택합니다.

2. FROM 절

  • FROM 학생은 데이터가 어디에서 조회될지를 명시하는 구문입니다. 여기서는 학생 테이블에서 정보를 가져옵니다.
728x90

 

3. 조건 필터링 (WHERE)

  • WHERE 학년 IN (3, 4)는 학년이 3학년 또는 4학년인 학생들만 조회하도록 제한하는 조건문입니다.
  • IN 연산자 사용
    • IN 연산자는 SQL에서 지정한 여러 값 중 하나와 일치하는지 여부를 확인하는 조건 필터링 도구입니다. WHERE 절에서 사용되며, 값이 특정 목록 안에 있는지 확인할 때 유용합니다. 여러 조건을 OR 연산자 대신 간결하게 작성할 수 있어 코드 가독성 및 유지보수에 용이합니다.
    • 기본구조는 WHERE 컬럼명 IN (값1, 값2, 값3, ...);입니다. 이 구조에서 컬럼명은 비교할 데이터의 컬럼이고, 괄호 안에 들어가는 값1, 값2, 값3은 비교할 값들의 리스트입니다.
    • 예를 들어, WHERE 학년 IN (3, 4)는 학년이 3이거나 4인 학생을 의미합니다. 이 연산자를 사용하면 OR 연산자를 여러 번 쓸 필요 없이 간결한 코드를 작성할 수 있습니다.
  • [참고] OR 연산자 사용

    • OR 연산자는 WHERE 절에서 여러 조건 중 하나라도 만족하는 경우 데이터를 조회할 때 사용됩니다. 여러 조건을 연결하여 좀 더 복잡한 필터링을 가능하게 하며, 각 조건이 개별적으로 참인 경우에도 결과에 포함됩니다.
    • 기본구조는  WHERE 조건1 OR 조건2 OR 조건3;입니다. 이 구조에서 각 조건은 독립적으로 평가되며, 하나라도 참(True)이면 해당 조건에 맞는 데이터를 조회합니다.
    • 예를 들어 WHERE 학년 = 3 OR 학년 = 4;는 학년이 3이거나 4인 학생을 의미합니다. 이 방식은 IN 연산자와 동일한 결과를 제공하지만, 여러 조건을 사용할 경우 IN 연산자에 비해 코드가 길어질 수 있습니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형