본문 바로가기

sql

[Programmers/SQL] NULL 처리하기 1. 테이블 구조 2. 문제 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요. 3. 풀이 IFNULL(체크할 속성, 대체할 값 또는 속성) 으로 NULL일 경우 다른 값 또는 속성으로 대체 반환할 수 있다. SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; [참조] programmers.co.kr/learn/courses/30/lesson.. 더보기
[Programmers/SQL] 이름이 있는 동물의 아이디 1. 테이블 구조 2. 문제 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. 3. 풀이 NULL이 아닌 이름은 NAME IS NOT NULL로 확인할 수 있다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC; [참조] programmers.co.kr/learn/courses/30/lessons/59407 코딩테스트 연습 - 이름이 있는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, .. 더보기
[Programmers/SQL] 이름이 없는 동물의 아이디 1. 테이블 구조 2. 문제 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. 3. 풀이 NULL 체크는 IS NULL로 할 수 있다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC; [참조] programmers.co.kr/learn/courses/30/lessons/59039 코딩테스트 연습 - 이름이 없는 동물의 아이디 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, IN.. 더보기
[Programmers/SQL] 입양 시각 구하기(2) 1. 테이블 구조 2. 문제 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 3. 풀이 데이터가 존재하지 않는 시각도 반환을 해야하므로, 0 ~ 23시를 나타내는 변수 @hour를 선언하고 @hour와 같은 시각을 가진 데이터를 중첩 SQL로 계산한다. SET @hour := -1; SELECT (@hour := @hour + 1) AS HOUR, ( SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour ) AS COUNT FROM ANIMAL_OUTS WHERE @hour < 23 .. 더보기
[Programmers/SQL] 입양 시각 구하기(1) 1. 테이블 구조 2. 문제 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 3. 풀이 시각별로 비교를 해야하므로 HOUR(DATETIME)을 사용한다. GROUP BY HOUR(DATETIME)으로 같은 시각을 묶고 ORDER BY HOUR(DATETIME)으로 시각을 오름차순으로 정렬한다. SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT FROM ANIMAL_OUTS WHERE 9 더보기
[Programmers/SQL] 고양이와 개는 몇 마리 있을까 1. 테이블 구조 2. 문제 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. 3. 풀이 동물의 종류를 지정하는 변수인 ANIMAL_TYPE을 기준으로 잡기 위해 GROUP BY ANIMAL_TYPE을 사용하고, ANIMAL_TYPE을 기준으로 오름차순으로 정렬해서 종류와 수(COUNT(ANIMAL_TYPE))를 출력한다. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC; [참조] programmers.co.kr/learn/courses/30/lessons/59040 코딩.. 더보기
[Programmers/SQL] 동물 수 구하기 1. 테이블 구조 2. 문제 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. 3. 풀이 COUNT(*)를 사용해서 모든 동물의 수를 센다. SELECT COUNT(*) FROM ANIMAL_INS; [참조] programmers.co.kr/learn/courses/30/lessons/59406 코딩테스트 연습 - 동물 수 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 더보기
[Programmers/SQL] 최솟값 구하기 1. 테이블 구조 2. 문제 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 3. 풀이 가장 먼저 들어왔으면 DATETIME 값이 가장 작으므로 MIN(DATETIME)을 사용한다. SELECT MIN(DATETIME) FROM ANIMAL_INS; [참조] programmers.co.kr/learn/courses/30/lessons/59038 코딩테스트 연습 - 최솟값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 .. 더보기