전체 글
[MYSQL] 없어진 기록 찾기(LEFT JOIN)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. AN..
[MYSQL] 그룹별 조건에 맞는 식당 목록 출력하기(IN, JOIN, DATE_FORMAT)
REST_INFO테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, 회원 ID MEMBER_NAME, 회원 이름 TLNO, 회원 연락처 GENDER, 성별, DATE_OF_BIRTH 생년월일 REST_REVIEW 테이블은 다음과 같으며 REVIEW_ID, 리뷰 ID REST_ID, 식당 ID MEMBER_ID, 회원 ID REVIEW_SCORE, 점수 REVIEW_TEXT, 리뷰 텍스트 REVIEW_DATE, 리뷰 작성일 MEMBER_PROFILE와 REST_REVIEW테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원이름, 리뷰텍스트, 리뷰작성일이 출력되도록 작성해주시고, 결과..
[MYSQL] NULL처리하기(IFNULL)
테이블 명 ANIMAL_INS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME IMEINTAKE_CONDITION SEX_UPON_INTAKE 입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물종, 이름, 성별 및 중성화 여부를 아이디순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물은 "No name"으로 표시해 주세요. SELECT ANIMAL_TYPE, IFNULL(NAME, "No name") SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID
[MYSQL] 이름이 있는 동물의 아이디(IS NOT NULL)
테이블 명 ANIMAL_INS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME IMEINTAKE_CONDITION SEX_UPON_INTAKE 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL무을 작성해주세요. 단, ID는 오름차순으로 정렬되어야 합니다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID
[MYSQL] 이름이 없는 동물의 아이디 (IS NULL)
테이블 명 ANIMAL_INS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME IMEINTAKE_CONDITION SEX_UPON_INTAKE 동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID * NAME = NULL이 아니라 NAME IS NULL임.
[MYSQL] 경기도에 위치한 식품창고 목록 출력하기 문자열 와일드카드 LIKE, IFNULL
FOOD_WAREHOUS테이블 FOOD_WAREHOUSE 테이블은 다음과 같으며 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, TLNO, FREEZER_YN는 창고 ID, 창고 이름, 창고 주소, 전화번호, 냉동시설 여부를 의미합니다. FOOD_WAREHOUSE테이ㅡㄹ에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요 SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기도%'..
[MYSQL]입양 시각 구하기 2 SET, WHERE
테이블 명 ANIMAL_OUTS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME SEX_UPON_OUTCOME 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 한다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. SET @HOUR = -1; SELECT (HOUR := HOUR + 1) AS HOUR, (SELECT COUNT(HOUR(DATETIME)) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) AS COUNT FROM ANIMAL_OUTS WHERE @HOUR < 23; * SET명령어를 사용해야한다. SET은 어떤 변수에 특정 ..
[MYSQL] 입양 시각 구하기 1 DATETIME, HOUR, HAVING, AND, COUNT
테이블 명 ANIMAL_OUTS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME SEX_UPON_OUTCOME 보호소에서는 몇 시에 이뱡ㅇ이 가장 활발하게 일어나는지 알아보려한다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 한다. SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR > 8 AND HOUR < 20 ORDER BY HOUR * TYPE이 DATETIME인 데이터에서 시간만 추출하려면 HOUR을 사용한다. SELECT문의 HOUR(DATETIME A..
[MYSQL] 동명 동물 수 찾기 GROUP BY, HAVING
테이블 명 ANIMAL_INS 속성 ANIMAL_ID NAME ANIMAL_TYPE DATETIME IMEINTAKE_CONDITION SEX_UPON_INTAKE 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성하라. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회하라. SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME * HAVING GROUP으로 묶은 다음 GROUP에 조건을 줘야할 때 WHERE절이 아닌 HAVING절을 사용해야한다.