SQL챌린지(14)
-
[ 프로그래머스 ] SQL챌린지 7일차 이름에 el이 들어가는 동물 찾기
문제 설명 문제 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE ANIMAL_TYPE = 'DOG' AND UPPER(NAME) LIKE '%EL%' ORDER BY UPPER(NAME) 문제에서 중요한 건 이름이 EL이 들어가는 조건이랑 대소문자 구분 없이 정렬을 한다는 것입니다. UPPER(NAME)을 통해 NAME을 대문자로 변환해서 el, eL, El, EL 을 모두 EL로 변환하여 검사하도록 하였고, ORDER BY 절에서도 보시면 아시겠지만 NAME을 대문자로 변환하여 정렬하도록 하였습니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 |..
2019.09.18 -
[ 프로그래머스 ] SQL챌린지 7일차 루시와 엘라 찾기
문제 설명 문제 풀이 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') 특정 이름을 가진 동물을 찾는 문제이므로 IN을 쓴 뒤 문제에서 요구하는 이름을 적으면 됩니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/59046 코딩테스트 연습 - 루시와 엘라 찾기 | 프로그래머스 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAK..
2019.09.18 -
[ 프로그래머스 ] SQL챌린지 6일차 보호소에서 중성화한 동물
문제 설명 문제 풀이 SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME FROM ANIMAL_OUTS A, ANIMAL_INS B WHERE A.ANIMAL_ID = B.ANIMAL_ID AND B.SEX_UPON_INTAKE != A.SEX_UPON_OUTCOME 간단하게 조인하고 테이블끼리 중성화 여부가 같지 않은 정보를 조회하면 풀리는 문제입니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 | 프로그래머스 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANI..
2019.09.17 -
[ 프로그래머스 ] SQL챌린지 6일차 오랜 기간 보호한 동물(1)
문제 설명 문제 풀이 SELECT B.NAME, B.DATETIME FROM ANIMAL_OUTS A RIGHT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE A.ANIMAL_ID IS NULL ORDER BY B.DATETIME LIMIT 3; 아직 입양을 못 갔으면 ANIMAL_OUTS 테이블에는 기록이 없습니다. 그러므로 FROM ANIMAL_OUTS A RIGHT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE A.ANIMAL_ID IS NULL 또는 FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE B.ANIMAL_..
2019.09.17 -
[ 프로그래머스 ] SQL챌린지 5일차 있었는데요 없었습니다
문제 설명 문제 풀이 SELECT A.ANIMAL_ID, B.NAME FROM ANIMAL_INS A, ANIMAL_OUTS B WHERE A.ANIMAL_ID = B.ANIMAL_ID AND A.DATETIME > B.DATETIME ORDER BY A.DATETIME DATE 형식은 부등호 연산도 가능합니다. 문자열 함수나 형 변환 같은 것들을 사용하지 않고 간단하게 풀 수 있습니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/59043 코딩테스트 연습 - 있었는데요 없었습니다 | 프로그래머스 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID,..
2019.09.16 -
[ 프로그래머스 ] SQL챌린지 5일차 없어진 기록 찾기
문제 설명 문제 풀이 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE B.ANIMAL_ID IS NULL 그냥 PK로 조인을 해버리면 INNER JOIN이 되어서 ANIMAL_INS와 ANIMAL_OUTS 둘 다 있는 값만 조인이 됩니다. 값이 사라진 것까지 불러와서 JOIN을 하려면 LEFT JOIN 또는 RIGHT JOIN을 해야 합니다. LEFT JOIN은 왼쪽 테이블에 있는 모든 값을 가져옵니다. 조인이 되는 건 하고요. 그래서 오른쪽 테이블에 없는 값은 NULL로 채워집니다. RIGHT JOIN은 반대로 오른쪽 테이블에 있는 값을 가져옵니다. 저는 ANIMAL..
2019.09.16