본문 바로가기

프로그래머스6

[ SQL 고득점 kit ] String, Date - mysql 01 루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty'); 02 이름에 el이 들어가는 동물 찾기 mysql의 대소문자 구분여부 컬럼, 테이블명 : 대소문자 구분O VARCHAR,TEXT같은 데이터 : 대소문자 구분X 따라서 이 문제의 경우 대소문자 지정을 따로 해주지 않아도 풀리기는 한다(아래처럼) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%' ORDER BY NAME; 만약 mysql을 쓰지 않을때는 low.. 2021. 6. 26.
[ SQL 고득점 kit ] JOIN - mysql 01 없어진 기록 찾기 SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O LEFT JOIN ANIMAL_INS I ON O.ANIMAL_ID = I.ANIMAL_ID WHERE I.ANIMAL_ID IS NULL ORDER BY O.ANIMAL_ID; INS에는 있고 OUTS에는 없는 데이터이기때문에 INS를 기준으로 LEFT JOIN 사용 02 있었는데요 없었습니다 SELECT I.ANIMAL_ID, I.NAME FROM ANIMAL_INS I INNER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE I.DATETIME > O.DATETIME ORDER BY I.DATETIME; DATETIME 자체로 비교 가능하다는 점.. 2021. 6. 25.
[ SQL 고득점 kit ] IS NULL - mysql 01 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID; ( 프로그래머스에서는 이미 ID순으로 정렬이 되어있어서 마지막 코드가 없어도 통과는 되지만, 문제 조건에 ID 순 정렬을 요구하고 있으므로 써주는 게 더 정확 ) 02 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID; 또는 NOT의 위치를 앞으로 가져와서 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NOT NAME IS NULL ORDER BY ANIMAL_ID; 03 NULL 처리하기 데이터베이스 자체를 바꾸.. 2021. 6. 23.
[ SQL 고득점 kit ] GROUP BY - mysql 01 고양이와 개는 몇 마리 있을까 IN 조건 또는 OR 조건으로 다양하게 풀이 가능 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS WHERE ANIMAL_TYPE IN ('Cat', 'Dog') GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE; or SELECT ANIMAL_TYPE,count(*) as 'count' FROM ANIMAL_INS WHERE ANIMAL_TYPE='Cat' or ANIMAL_TYPE='Dog' GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE 02 동명 동물 수 찾기 GROUP 으로 묶은 결과 자체에 대해 조건을 걸려면? - WHERE가 아니라 HAVI.. 2021. 6. 22.
[ SQL 고득점 kit ] SUM, MAX, MIN - mysql 01 최댓값 구하기 SELECT MAX(DATETIME) as 시간 FROM ANIMAL_INS; or SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; 02 최솟값 구하기 SELECT MIN(DATETIME) AS 시간 FROM ANIMAL_INS; or SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1; 03 동물 수 구하기 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1; or SELECT COUNT(*) FROM ANIMAL_INS; 04 중복 제거하기 문제 조건 잘 확인(-NULL인 경우는 집계하지 않으며-),.. 2021. 6. 22.
[ SQL 고득점 kit ] SELECT - mysql 01 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; 02 역순 정렬하기 : 정렬은 ORDER BY, 순서는 DESC(내림차순-큰값부터) or ASC(오름차순-기본값) SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 03 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ORDER BY ANIMAL_ID; 04 어린 동물 찾기 : 같지 않다 (NOT, !=, ) SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NOT INTAKE_CONDITION='Aged' ORD.. 2021. 6. 21.