코딩일기/자격증

[정보처리기사] LIKE 연산자와 와일드카드 활용법 | ORDER BY로 정렬하기 | 정보처리기사 실기 기출문제

jhy_2023 2025. 1. 9. 16:53
728x90
반응형

2021년 2회 정보처리기사 실기 기출문제

문제

다음은 students  테이블에서 '이름' 컬럼의 값이 '이'로 시작하는 학생들의 정보를 조회하는 SQL 쿼리이다. 결과는 '학번' 컬럼을 기준으로 내림차순 정렬된다. 주어진 SQL문에서 빈칸을 채우시오.

SELECT *  
FROM students  
WHERE 이름 LIKE (___1___)  
ORDER BY 학번 (___2___);

실행 결과


정답

 

1. '이%'
2. DESC

 

반응형

해설

[ 참고 ] SQL 문법 ▼

 

[정보처리기사] SQL 문법 | SQL 기본 구문 정리 | DML 명령어 : SELECT, INSERT, UPDATE, DELETE

📌 SelectSQL 기본 쿼리 형식 (종합) : SELECT 컬럼1, 컬럼2, 집계함수(컬럼명) AS 별칭FROM 테이블명WHERE 조건1 AND 조건2 OR 조건3GROUP BY 그룹화할_컬럼HAVING 집계함수_조건ORDER BY 정렬할_컬럼 ASC | DESC;SQL의

august-jhy.tistory.com


주어진 SQL문은 students 테이블에서 특정 조건에 맞는 데이터를 조회하고, 지정된 기준에 따라 정렬된 결과를 반환하는 역할을 합니다. 이 문제는 두 가지를 요구합니다:

  1. '이름' 컬럼의 값이 '이'로 시작하는 데이터를 필터링하는 조건.
  2. '학번' 컬럼을 기준으로 내림차순으로 데이터를 정렬하는 키워드.

📌 SELECT  *

  • SELECT는 데이터베이스에서 특정 컬럼이나 데이터를 조회할 때 사용하는 키워드입니다. 
  • *는 테이블의 모든 컬럼을 의미합니다.
    • SELECT *를 사용하면 모든 컬럼이 포함된 데이터가 반환됩니다.  
  • 이 구문은 students 테이블의 모든 컬럼을 조회합니다.

📌 FROM students

  • FROM은 데이터를 가져올 테이블을 지정합니다.
  • students는 조회할 테이블의 이름입니다.
  • 이 구문은 students라는 테이블에서 데이터를 조회합니다. 데이터베이스 내에 이 테이블이 존재해야 쿼리가 실행됩니다.
728x90

📌 WHERE 이름 LIKE '이%'

1️⃣ LIKE 연산자와 와일드카드 개념

SQL에서 데이터를 조회할 때 특정 조건에 따라 데이터를 필터링하고 싶을 때 LIKE 연산자는 매우 유용합니다. 특히, 정해진 패턴에 따라 데이터를 검색할 수 있어 부분 문자열 매칭에 자주 사용됩니다. 여기에 와일드카드(wildcard)를 함께 사용하면 더욱 유연한 검색이 가능합니다.

🔸 LIKE 연산자

SELECT 컬럼명
FROM 테이블명
WHERE 컬럼명 LIKE '패턴';

LIKE는 SQL에서 문자열 패턴을 기준으로 데이터를 조회하는 데 사용되는 연산자입니다.
정확히 일치하는 값을 찾는
= 연산자와는 달리, LIKE는 문자열의 특정 부분만 일치해도 결과를 반환합니다.

🔸 와일드카드

와일드카드는 LIKE와 함께 사용되어 패턴을 정의하는 데 도움을 주는 특수 문자입니다. SQL에서는 주로 %_ 두 가지 와일드카드를 사용합니다.

  • % (퍼센트)
    • 의미: 0개 이상의 임의의 문자를 매칭합니다.
    • 특징: 어떤 문자열이 와도 상관없습니다.
    • 예제
      • LIKE 'A%': 'A'로 시작하는 모든 문자열 → Apple, Ape
      • LIKE '%B': 'B'로 끝나는 모든 문자열 → Bob, Cab
      • LIKE '%cat%': 'cat'을 포함하는 모든 문자열 → concat, catalog
      • LIKE 'X%': 'X'로 시작하는 문자열 → X-ray, Xenon
  • _ (언더스코어)
    • 의미: 정확히 1개의 임의의 문자와 매칭합니다.
    • 특징: 자리수에 따라 결과가 달라집니다.
    • 예제
      • LIKE '_at': 두 번째 자리가 'a' 그리고 세 번째 자리가 't''인 문자열 → cat, bat
      • LIKE 'A_': 'A'로 시작하고 두 글자인 문자열 → Ax, Ap
      • LIKE '___': 세 글자로 된 모든 문자열 → bat, dog

2️⃣ 문제 해설

  • WHERE는 조건을 지정하여 데이터를 필터링합니다.
  • 이름 LIKE '이%'는 '이름' 컬럼의 값이 '이'로 시작하는 데이터만 조회하라는 의미입니다. 따라서 '이%'는 '이'로 시작하는 모든 데이터를 찾습니다.
    • LIKE는 문자열 패턴 매칭을 수행하는 연산자입니다
    • '이'는 문자열의 시작 부분을 지정합니다.
    • '%'는 0개 이상의 임의의 문자를 의미합니다.

 

📌 ORDER BY 학번 DESC

  • ORDER BY는 데이터를 정렬할 때 사용하는 키워드입니다.
  • 학번은 정렬 기준이 되는 컬럼입니다.
  • DESC는 내림차순 정렬(큰 값에서 작은 값 순서)을 의미합니다. 반대로, ASC는 오름차순 정렬(작은 값에서 큰 값 순서)을 의미합니다.

📌 문제 해설 요약

  • SELECT *: 테이블의 모든 컬럼을 조회합니다.
  • FROM students: 데이터를 조회할 테이블은 students입니다.
  • WHERE 이름 LIKE '이%': '이름' 컬럼의 값이 '이'로 시작하는 데이터만 필터링합니다.
  • ORDER BY 학번 DESC: '학번' 컬럼을 기준으로 내림차순 정렬합니다.

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

728x90
반응형