728x90
반응형
SMALL
📌 문제 정보
- 출처: 문제 링크
- 난이도: ⭐
- 문제 유형: SELECT
- 사용 언어: SQL
🔍 문제 설명
`ANIMAL_INS` 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.
💡 풀이 노트
SELECT [ALL| DISTINCT] 속성이름
[FROM 테이블이름]
[WHERE 검색조건]
[GROUP BY 속성이름]
[HAVING 검색조건]
[ORDER BY 속성이름 [ASC | DESC]]
📌SELECT
- 조회할 속성(컬럼) 명시
- `ALL`: 중복 허용(기본값)
- `DISTINCT`: 중복 제거
📌FROM
- 조회 대상이 되는 테이블을 지정
📌WHERE (조건 필터링)
- 조건에 맞는 행만 조회, 비교/논리/패턴/NULL 조건 등 사용 가능
| 구분 | 연산자 | 예시 |
| 비교 | `=`, `<>`, `<` , `>` , `≤` , `≥` | `WHERE age >= 20` |
| 범위 | `BETWEEN A AND B` | `WHERE age BETWEEN 20 AND 30` |
| 집합 | `IN(. . .)`, `NOT IN(. . .)` | `WHERE major IN ('CS', 'EE)` |
| NULL 검사 | `IS NULL`, `IS NOT NULL` | `WHERE address IS NULL` |
| 패턴 | `LIKE`, `NOT LIKE` | `WHERE name LIKE '%철수%` |
| 복합 조건 | `AND`, `OR, `NOT` | `WHERE age > 20 AND gender = 'F'` |
LIKE 패턴 정리 (문자열 검색용)
| 패턴 | 의미 | 예시 |
| `%` | 0개 이상 문자 | `축구%` → 축구로 시작 |
| `_` | 임의의 1개 문자 | `구_` → 첫 글자 ‘구’ 다음 1글자 |
| `[ ]` | 특정 문자 하나 | `[0-5]%` → 0~5로 시작 |
| `[^ ]` | 특정 문자 제외 | `[^0~5]%` → 0~5 아닌 숫자로 시작 |
📌GROUP BY & HAVING
- GROUP BY: 동일한 값을 가지는 레코드를 그룹화
- HAVING: 그룹에 대한 조건 지정
- → `WHERE` 은 그룹 전 필터, `HAVING` 은 그룹 후 필터
집계합수
| 함수 | 설명 |
| `SUM()` | 합계 |
| `AVG()` | 평균 |
| `COUNT()` | 개수 |
| `MAX()` | 최댓값 |
| `MIN()` | 최솟값 |
- `NULL` 값은 계산 대상에서 제외
- `WHERE` 에서는 집계 함수 사용 불가, `SELECT` 또는 `HAVING`에서만 가능
📌ORDER BY
결과 정렬 시 사용
- 기본은 오름차순(ASC), 내림차순은 DESC 지정
🚀 코드 (SQL)
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
🖥 실행 결과
ANIMAL_ID NAME
A349996 Sugar
A350276 Jewel
A350375 Meo
A352555 Harley
A352713 Gia
A352872 Peanutbutter
A353259 Bj
A354540 Tux
A354597 Ariel
A354725 Kia
A354753 Sammy
A355519 Faith
A355688 Shadow
A355753 Elijah
A357021 Queens
A357444 Puppy
A357846 Happy
A358697 Fuzzo
A358879 Simba
A361391 Baby Bear
A362103 Stitch
A362383 *Morado
A362707 Girly Girl
A362967 Honey
A363653 Goofy
A364429 Hugo
A365172 Diablo
A365302 Minnie
A367012 Miller
A367438 Cookie
A367747 Woody
A368742 Stormy
A368930
A370439 Sniket
A370507 Emily
A370852 Katie
A371000 Greg
A371102 Ceballo
A371344 Sailor
A371534 April
A373219 Ella
A373687 Rosie
A375393 Dash
A376322 Mama Dog
A376459 Dora
A377750 Lucy
A378348 Frijolito
A378353 Lyla
A378818 Zoe
A378946 Mercedes
A379998 Disciple
A380009 Pickle
A380320 Scooby
A380420 Laika
A380506 Ruby
A381173 Pepper
A381217 Cherokee
A382192 Maxwell 2
A382251 Princess
A383036 Oreo
A383964 Finney
A384360 Jj
A384568 Jedi
A385442 Clyde
A386005 Giovanni
A386276 Tiko
A386688 Punch
A387083 Goldie
A387965 Dakota
A388360 Spider
A388691 Blaze
A390222 Holly
A391512 Rome
A391858 Nellie
A392027 Penny
A392075 Skips
A392615 Chip
A394547 Snickerdoodl
A395451 Rogan
A396810 Raven
A397882 Charlie
A399421 Lucy
A399552 Jack
A400498 Reggie
A400680 Lucy
A403564 Anna
A405494 Kaila
A406756 Sabrina
A407156 Jake
A408035 Lizzie
A409637 Stanley
A410330 Chewy
A410668 Raven
A410684 Mitty
A412173 Jimminee
A412626 *Sam
A412697 Jackie
A413789 Benji
A414198 Shelly
A414513 Rocky
📌 깃허브 코드 저장소: https://github.com/glorypang/CodingTest
728x90
반응형
LIST