일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- YOLOv5
- 단어 공부
- sql
- 파이썬
- GIT
- SQL 고득점 Kit
- Python3
- Len
- 파이썬 몫
- 슬라이싱
- Django
- python
- pcce 기출문제
- html
- Join
- 설계
- 데이터
- 프로젝트
- 아이엠어바텐더
- 프로그래머스
- map
- 코딩테스트 연습
- css
- 백준
- date_format
- ORDER BY
- where
- List Comprehension
- 파이썬 슬라이싱
- count
- Today
- Total
목록Database/SQL (22)
nan + nan = 2nan
코드 입력 SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS WHERE SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = "Python") OR SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = "C#") ORDER BY ID; 해당 문제는 모르겠어서 구글에 찾아본 문제 중 하나다. SQL을 통해 문자열을 1과 0이 연속된 비트열로 변환하여 조회하는 방법을 몰랐다. Skill_Code 열의 비트를 사용해서 각 Python과 C# 스택을 가진 개발자를 찾는다. 이 때, & (비트)연산자를 이용하는데, 비트 연산자가 무엇인지 정확히 이해가 되지 않는다. Pytho..
코드 입력 SELECT II.ITEM_ID, II.ITEM_NAME, II.RARITY FROM ITEM_INFO AS II JOIN ITEM_TREE AS IT ON II.ITEM_ID = IT.ITEM_ID WHERE 1=1 AND IT.PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO WHERE RARITY = "RARE") ORDER BY II.ITEM_ID DESC; JOIN과 SUB QUERY를 활용해 푼 문제이다. 처음에는 단순히 부모 ID값이 NULL이 아니며, 희소성이 RARE인 아이템들이 나올 것이라 생각했다. 근데, 희소성인 RARE인 아이템의 다음 업그레이드 아이템 중 희소성이 RARE가 아닌 아이템들이 나온다면 해당 로직에서 걸러지기 때문에 오..
코드 입력 SELECT ID, LENGTH FROM FISH_INFO WHERE LENGTH IS NOT NULL ORDER BY LENGTH DESC, ID ASC LIMIT 10; 가장 큰 순서대로 10개만 출력하는 문제이다. LIMIT과 ORDER BY 구문을 활용해서 문제를 풀었다. ORDER BY로 우선 길이순으로 내림차순, 동일하다면 ID 순으로 오름차순으로 정렬한 다음 LIMIT으로 상위 10개만 출력하였다. 조건에 가장 큰 10마리 물고기의 LENGTH는 NULL일 수 없다하여 조건문에 NULL이 아닌 조건도 함께 달았다. 출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스 코드 중심의 개발자..
코드 입력 SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO WHERE ISNULL(LENGTH) = True; # WHERE LENGTH is null; COUNT 함수를 이용하여 조건에 맞는 행의 개수를 구하는 문제이다.Null 값의 경우, 조건절에서 ISNULL 함수를 사용하거나, is null 구문을 사용해서 10cm 이하인 물고기 (null) 값을 구하면 된다. 출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/293258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. pr..
코드 입력 SELECT UGB.TITLE, UGB.BOARD_ID, UGR.REPLY_ID, UGR.WRITER_ID, UGR.CONTENTS, DATE_FORMAT(UGR.CREATED_DATE, "%Y-%m-%d") AS CREATED_DATE FROM USED_GOODS_BOARD AS UGB JOIN USED_GOODS_REPLY AS UGR ON UGR.BOARD_ID = UGB.BOARD_ID WHERE 1=1 # AND YEAR(UGR.CREATED_DATE) = '2022' AND MONTH(UGR.CREATED_DATE) = '10' # AND UGR.CREATED_DATE BETWEEN '2022-10-01' AND '2022-10-31' AND UGB.CREATED_DATE BETWE..
코드 입력 SELECT ROUND(AVG(DAILY_FEE)) FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV'; 평균 값을 구하는 문제이다. AVG() 함수를 사용해서 조건에 맞는 특정 컬럼의 값을 구하고, ROUND() 함수를 사용해서 소수 첫번째 자리에서 반올림하는 조건을 맞추었다. ROUND() 함수의 경우, 인자 뒤에 원하는 자리수를 적으면 해당 자리수까지 표시해준다. 예를 들어, 소수점 첫째짜리까지 표현하고 싶다면 ROUND(인자, 1) 과 같은 형식으로 나타내면 된다. 출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/151136 프로그래머스 코드 중심의 개발자 채용. 스택 기..
코드 입력 SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK WHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = 2021 ORDER BY PUBLISHED_DATE; DATE 함수에서 조건절에 2021년에 해당하는 값을 뽑아내는 문제이다. 이전 포스팅한 문제와 동일하게 DATE_FORMAT 함수를 이용해서 일자 양식을 조건에 맞춘 뒤, year 함수를 사용해서 문제를 풀면 된다. 출처 : 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지..
코드 입력 SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE "강원도%" ORDER BY FACTORY_ID; 특정 컬럼에서 문자열이 강원도로 시작하는 열을 찾는 문제다. LIKE절을 사용해서 문제를 풀면 되는데, 조건은 다음과 같다. 5# 강원도로 시작하는 문자열 찾기 WHERE LIKE '강원도%' # 강원도로 끝나는 문자열 찾기 WHERE LIKE '%강원도' # 강원도를 포함하는 문자열 찾기 WHERE LIKE '%강원도%' 이외에도, _ (언더바) 및 [] (대괄호)의 정규식 등을 이용한 조건도 있는데 다음에 문제가 나오면 살펴보도록 하겠다. 출처 : 프로그래머스 https://school.programme..
코드 입력 SELECT fh.FLAVOR FROM FIRST_HALF AS fh JOIN ICECREAM_INFO ii ON fh.FLAVOR = ii.FLAVOR WHERE fh.TOTAL_ORDER > 3000 AND ii.INGREDIENT_TYPE="fruit_based" ORDER BY fh.TOTAL_ORDER DESC; JOIN은 오랜만에 봐도 익숙치가 않다. 간단한 JOIN이라서 다행이지, 실무에서 여러 테이블을 조인할테는 머리가 터질 것 같은데.. 그래도 문제가 level.1 이라서 Join 말고 SELECT로 서브쿼리로 푸는게 아닐까해서 시도를 해보다가.. 그게 더 복잡할 것 같아서 join을 활용했다. FIRST_HALF 테이블과 ICECREAM_INFO의 테이블 중 flavor 컬럼..