본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

DB/SQL Problems30

[SQL-JOIN, 난이도 중상] 보호소에서 중성화한 동물 테이블 테이블 문제 설명 중성화 여부 표기 방식 해설 : ANIMAL_INS와 ANIMAL_OUTS 테이블을 ANIMAL_ID에 대해 JOIN해주면 한 동물이 보호소에 들어왔을 때와 입양 갔을 때의 정보를 한 레코드에 확인할 수 있게 된다. 이 JOIN된 테이블에서 보호소에 들어올 당시의 중성화 정보를 담고 있는 "SEX_UPON_INTAKE" 필드명이 Intact로 시작하면서, 보호소에서 입양 갔을 당시의 중성화 정보를 담은 "SEX_UPON_OUTCONE" 필드명이 Intact로 시작하지 않는 레코드를 추출해야 한다. 문제가 원하는 정보인 ANIMAL_ID, ANIMAL_TYPE, NAME 값을 레코드마다 추출하여 반환해주면 된다. SELECT AI.ANIMAL_ID, AI.ANIMAL_TYPE, A.. 2020. 12. 4.
[SQL-NULL, 난이도 중] NULL 처리하기 테이블 명은 ANIMAL_INS 이며, ANIMAL_ID 순으로 ANIMAL_TYPE, NAME, SEX_UPON_INTAKE 을 조회하는 SQL문을 작성하면 된다. NAME은 NULLABLE이 TRUE이기 때문에 NULL값이 올 수도 있는데, 이 때의 NULL값은 "No name" 문자열로 대체하면 된다. SELECT ANIMAL_TYPE, IFNULL(NAME,"No name") AS NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT : 조회하라 ANIMAL_TYPE, IFNULL(NAME,"No name") AS NAME, SEX_UPON_INTAKE : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE 필드를 (단, N.. 2020. 12. 4.
[SQL-NULL, 난이도 하] 이름이 있는 동물의 아이디 테이블 명은 ANIMAL_INS 이며, NAME이 NULL로 들어오지 않은 동물들의 ANIMAL_ID를 오름차순으로 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL; SELECT : 조회하라 ANIMAL_ID : ANIMAL_ID 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 WHERE NAME IS NULL : NAME이 NOT NULL인 레코드들을 (오름차순이면 ORDER BY문은 생략해도 된다) 2020. 12. 4.
[SQL-NULL, 난이도 하] 이름이 없는 동물의 아이디 테이블 명은 ANIMAL_INS 이며, NAME이 NULL로 들어온 동물들의 ANIMAL_ID를 오름차순으로 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL; SELECT : 조회하라 ANIMAL_ID : ANIMAL_ID 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 WHERE NAME IS NULL : NAME이 NULL인 레코드들을 (오름차순이면 ORDER BY문은 생략해도 된다) 2020. 12. 4.
[SQL-Select, 난이도 중하] 상위 n개 레코드 테이블 명은 ANIMAL_INS 이며, DATETIME순 상위 1개 레코드의 NAME을 조회하는 SQL문을 작성하면 된다. >> SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1; SELECT : 조회하라 NAME : NAME 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 ORDER BY DATETIME : 필드 "DATETIME" 순으로 LIMIT 1 : 상위 1개 레코드만 2020. 10. 20.
[SQL-Select, 난이도 중하] 여러 기준으로 정렬하기 테이블 명은 ANIMAL_INS 이며, NAME순으로, NAME이 같다면 DATETIME의 역순으로 모든 동물의 ANIMAL_ID, NAME, DATETIME을 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID,NAME,DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC; SELECT : 조회하라 ANIMAL_ID,NAME,DATETIME : ANIMAL_ID,NAME,DATETIME 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 ORDER BY NAME, DATETIME DESC : 필드 "NAME" 순으로, "NAME"이 같다면 DATETIME의 역순으로 2020. 10. 20.
[SQL-Select, 난이도 하] 동물의 아이디와 이름 테이블 명은 ANIMAL_INS 이며, ANIMAL_ID순으로 모든 동물의 ANIMAL_ID, NAME을 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID,NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT : 조회하라 ANIMAL_ID,NAME : ANIMAL_ID,NAME 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 ORDER BY ANIMAL_ID : 필드 "ANIMAL_ID" 순으로 2020. 10. 20.
[SQL-Select, 난이도 중하] 어린 동물 찾기 테이블 명은 ANIMAL_INS 이며, ANIMAL_ID순으로 INTAKE_CONDITION이 Aged가 아닌 동물의 ANIMAL_ID, NAME을 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE NOT INTAKE_CONDITION="Aged" ORDER BY ANIMAL_ID; SELECT : 조회하라ANIMAL_ID,NAME : ANIMAL_ID,NAME 필드를FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서WHERE NOT INTAKE_CONDITION="Aged" : 필드명 "INTAKE_CONDITION" 의 값이 "Aged"가 아닌ORDER BY ANIMAL_ID : 필드명 "ANIMAL_ID" 순으로 2020. 10. 20.
[SQL-Select, 난이도 중하] 아픈 동물 찾기 테이블 명은 ANIMAL_INS 이며, ANIMAL_ID순으로 INTAKE_CONDITION이 Sick인 동물의 ANIMAL_ID, NAME을 조회하는 SQL문을 작성하면 된다. >> SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION="Sick" ORDER BY ANIMAL_ID; SELECT : 조회하라 ANIMAL_ID,NAME : ANIMAL_ID,NAME 필드를 FROM ANIMAL_INS : 테이블 "ANIMAL_INS" 에서 WHERE INTAKE_CONDITION="Sick" : 필드 "INTAKE_CONDITION" 의 값이 "Sick"인 ORDER BY ANIMAL_ID : 필드 "ANIMAL_ID" 순으로 2020. 10. 20.