2024/12/09 15

NULL 처리하기

[문제] 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요 [단계별 풀이] 1. 생물 종, 이름, 성별 및 중성화 여부를 선택하기2. IFNULL을 사용해서 이름이 NULL값이면 'No name'로 대체하기3. 아이디 순으로 정렬하기[정답]SELECT ANIMAL_TYPE, IFNULL(NAME, 'No name') AS NAME, SEX_UPON_INTAKEFROM ANIMAL_INSORDER BY ANIMAL_ID

이름에 el이 들어가는 동물 찾기

[문제] 보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다. [단계별 풀이] 1. 생물 종이 'Dog' 이면서 이름에 'el'이 들어가는 행만 필터링 하기2. 아이디와 이름을 선택하기3. 이름 순으로 조회하기[정답]SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE ANIMAL_TYPE = 'Dog'AND NAME LIKE '%el%'ORDER BY NAME

여러 기준으로 정렬하기

[문제] 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. [단계별 풀이] 1. 테이블에서 동물의 아이디와 이름, 보호 시작일을 선택한다2. 이름을 오름차순으로, 보호시작일 을 내림차순으로 정렬한다[정답]SELECT ANIMAL_ID, NAME, DATETIMEFROM ANIMAL_INSORDER BY NAME, DATETIME DESC

어린 동물 찾기

[문제] 동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요. [단계별 풀이] 1. INTAKE_CONDITION이 'Aged'가 아닌 행을 필터링한다2. 동물의 아이디와 이름을 선택한다3. 아이디 순으로 정렬한다[정답]SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION != 'Aged'ORDER BY ANIMAL_ID

동명 동물 수 찾기

[문제] 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요. [단계별 풀이] 1. 테이블에서 이름이 없는 행은 제외한다2. 이름으로 그룹화하고 행의 수가 2이상인 이름만 선택한다3. 이름과 행의 수를 조회한다4. 이름으로 정렬한다.[정답]SELECT NAME, COUNT(NAME) AS COUNTFROM ANIMAL_INSWHERE NAME IS NOT NULLGROUP BY NAMEHAVING COUNT(NAME) >= 2ORDER BY NAME