[프로그래머스] [SQL] ROOT 아이템 구하기 SELECT item_tree.item_id, item_info.item_nameFROM item_info join item_tree on item_info.item_id = item_tree.item_id WHERE item_tree.parent_item_id is nullORDER BY item_tree.item_id asc; 컬럼이 소속된 테이블명 잘보기 글은 길고 복잡하지만 천천히 읽다보면 답이 나온다 ❗ 코딩테스트 2024.05.03
[프로그래머스] [SQL] 한 해에 잡은 물고기 수 구하기 정처기 실기치고 돌아왔슴다 SELECT count(id) as FISH_COUNTFROM fish_infoWHERE time like '2021%' 코딩테스트 2024.05.03
[프로그래머스] [SQL] 부서별 평균 연봉 조회하기 정처기 제발 내 자리 좀..🙏 오늘의 포인트 1. 테이블 두개 조인 2. round 함수 사용 다시 한번 정리된 거 1. round 함수 소수점 아래부터 0,1,2,3 ... 확실히 기억하기 2. join 오랜만이라 컬럼명 앞에 테이블명 붙이는거 뒤늦게 생각남 SELECT HR_DEPARTMENT.DEPT_ID, HR_DEPARTMENT.DEPT_NAME_EN, round(AVG(HR_EMPLOYEES.SAL), 0) as AVG_SAL FROM HR_DEPARTMENT JOIN HR_EMPLOYEES ON HR_DEPARTMENT.DEPT_ID = HR_EMPLOYEES.DEPT_ID GROUP BY HR_DEPARTMENT.DEPT_ID ORDER BY AVG_SAL DESC 출처: 프로그래머스 코딩테스트 2024.03.28
[프로그래머스] [SQL] 조건에 맞는 아이템들의 가격의 총합 구하기 이거 2단계인데 별로 안어렵고 엊그제 도전했던 1단계가 더 어려운거 같다.. SELECT sum(PRICE) as TOTAL_PRICE FROM ITEM_INFO WHERE RARITY = 'LEGEND' 꾸준하게 업로드 다시 시도 출처: 프로그래머스 코딩테스트 2024.03.26
[프로그래머스] [SQL] Python 개발자 찾기 오늘의 두번째 문제 오랜만에 풀려고 들어가니 새로운 문제 많이 나와서 좋음 생각 같아서는 SKILL을 다 합쳐서 거기서 Python만 골라내고 싶은데 능력 부족 ㅋ 우선 어찌저찌 되는대로 완성 하지만 여기서 만족할 수는 없다 SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS WHERE SKILL_1 LIKE 'Py%' OR SKILL_2 LIKE 'Py%' OR SKILL_3 LIKE 'Py%' ORDER BY ID 같은 코드 SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS WHERE SKILL_1 LIKE 'Python' OR SKILL_2 LIKE 'Python' OR SKILL_3.. 코딩테스트 2024.03.24
[프로그래머스] [SQL] 잔챙이 잡은 수 구하기 오만년만에 돌아온 SQL 문풀 오랜만에 하니 모든걸 까먹어버린 바보 null count하는거 구글링했다 count(*)은 null 포함 count(컬럼)은 null 제외 SQLD에서 나온 개념 SELECT count(*)-count(LENGTH) as FISH_COUNT FROM FISH_INFO 완료 출처: 프로그래머스 코딩테스트 2024.03.24
[프로그래머스] [SQL] 동명 동물 수 찾기 WHERE 절에서는 부등호 안되니까 HAVING 사용 결과는 이름 순으로 조회 → 문제 똑바로 읽기 SELECT NAME, count(NAME) "COUNT" FROM ANIMAL_INS GROUP BY NAME HAVING count(NAME) >= 2 ORDER BY NAME ; 출처: 프로그래머스 코딩테스트 2024.01.30
[프로그래머스] [SQL] 이름에 el이 들어가는 동물 찾기 전에 풀다 말았던 거 해결 단, 이름의 대소문자는 구분하지 않습니다. 이걸 못보고 정규식 사용했다 ㅋㅋㅋ 어렵게도 풀었다 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME REGEXP '(EL|El|el)' and ANIMAL_TYPE LIKE 'Dog' ORDER BY NAME ASC; 다른 사람들 답보니 간단하게 풀었길래 문제 한번 더 살펴보다 대소문자 구별 안한다는거 보고 다시 풀었다 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE '%el%' and ANIMAL_TYPE LIKE 'Dog' ORDER BY NAME ASC; 오늘도 머리에 새긴다 문제를 꼼꼼히 보자! 출처: 프로그래머스 코딩테스트 2024.01.19
[프로그래머스] [SQL] 보호소에서 중성화한 동물 간만에 코테 이제 쉬운 문제가 없어서 가볍게 풀수가 없다 그만큼 내가 발전한거겠지? 이건 LIKE와 IN을 함께 쓸 수 없다는 것을 제대로 알지못해서 한참을 헤매다 겨우 풀었다 답을 정규식이었다 정규식의 중요한 점은 앞뒤를 확실하게 알려주기 내가 원하는 값은 뒤에는 뭐가 있어야 하지만 앞에는 없어야 하기 때문에 앞에만 ^ 이걸 붙여주는 것으로 해결 SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.ANIMAL_TYPE, ANIMAL_INS.NAME FROM ANIMAL_INS JOIN ANIMAL_OUTS ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID WHERE ANIMAL_INS.SEX_UPON_INTAKE REGEXP '^Intact' an.. 코딩테스트 2024.01.17
[프로그래머스] [SQL] 루시와 엘라 찾기 왠지 고난이 많았던 오늘 문제 우선 아이디별로 정렬하라는게 문제 밑에 예시쪽에 있어서 못봤다 LIKE를 쓰니 제대로 안되는거 같아 서치 시작 REGEXP를 찾았다 제대로 넣었는데도 자꾸 오답으로 나오기 시작 질문하기를 들어가서 코드는 안보고 제목만 보며 힌트를 얻었다 IN으로 해결 → 하지만 REGEXP를 썼을 때와 결과 테이블은 똑같은데 왜? 라는 의문 REGEXP는 좀더 섬세하기 때문에 제대로 시작과 끝을 지정해주지 않으면 문자열이 들어간 모든 것을 가져온다는 것을 늦게 알았다 결과적으로 답은 두가지인데 1. REGEXP를 사용한 쿼리 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME REGEXP '^(Lucy|Ella|Pickle.. 코딩테스트 2024.01.11