일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mysql
- CodingTest
- coding
- 코테
- collections
- 완전탐색
- import re
- join
- 시간복잡도
- Stack
- 조합
- Level2
- itertools
- lv4
- 연습문제
- 코딩
- coding test
- python
- level4
- time complexity
- 데이터분석
- counter
- 프로그래머스
- sql
- Queue
- programmers
- lambda
- 코딩테스트
- BFS
- 파이썬
- Today
- Total
목록mysql (42)
ror_coding
HAVING 절을 평가하기 전에 SELECT 절을 일부 평가하기 때문에 SELECT의 Alias가 적용된다 !!!(MySQL의 예외 현상) Question CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요. Point HAVING 절에서 SELECT 절에 있는 alias (AVERAGE_DURATION) 를 사용. Code SELECT CAR_ID,..
LIMIT 를 이용하여 테이블 상위 n개만을 출력할 수 있다 ! Question HR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE 테이블에서 2022년도 한해 평가 점수가 가장 높은 사원 정보를 조회하려 합니다. 2022년도 평가 점수가 가장 높은 사원들의 점수, 사번, 성명, 직책, 이메일을 조회하는 SQL문을 작성해주세요.2022년도의 평가 점수는 상,하반기 점수의 합을 의미하고, 평가 점수를 나타내는 컬럼의 이름은 SCORE로 해주세요. Point JOIN ONLIMIT Code SELECT SUM(SCORE) AS SCORE, E.EMP_NO, EMP_NAME, POSITION, EMAIL FROM HR_EMPLOYEES E JOIN HR_GRADE G O..
YEAR() 활용하기.DATE_FORMAT이나 SUBSTRING은 문자열이지만 YEAR()은 NUMBER TYPE이다. Question AIR_POLLUTION 테이블에서 수원 지역의 연도 별 평균 미세먼지 오염도와 평균 초미세먼지 오염도를 조회하는 SQL문을 작성해주세요. 이때, 평균 미세먼지 오염도와 평균 초미세먼지 오염도의 컬럼명은 각각 PM10, PM2.5로 해 주시고, 값은 소수 셋째 자리에서 반올림해주세요. 결과는 연도를 기준으로 오름차순 정렬해주세요. Point YEAR() 사용ROUND로 소수 셋째 자리에서 반올림 (즉, 둘째 자리까지 출력) Code SELECT YEAR(YM) AS YEAR, ROUND(AVG(PM_VAL1),2) AS 'PM10', RO..
GROUP BY 로 사용할 열 지정은 SELECT 문과 잘 연관지어 정해야 한다!! Question FISH_NAME_INFO에서 물고기의 종류 별 물고기의 이름과 잡은 수를 출력하는 SQL문을 작성해주세요. 물고기의 이름 컬럼명은 FISH_NAME, 잡은 수 컬럼명은 FISH_COUNT로 해주세요. 결과는 잡은 수 기준으로 내림차순 정렬해주세요. Tip GROUP BY 로 지정한 열은 SELECT 에 포함되어야 함.이때 GROUP BY를 A.FISH_TYPE 처럼 사용한 걸 SELECT COUNT(A.FISH_TYPE)으로 사용 X. Code SELECT COUNT(*) AS FISH_COUNT, FISH_NAME FROM FISH_INFO A JOIN FISH_NAME_INFO B ..
CASE 로 나누지 않고 간단 and 자동으로 group 나누는 방법!! Question PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요. Point SELECT 구문에서 FLOOR( PRICE / 10000 ) * 10000 AS PRICE_GROUP Code SELECT FLOOR(PRICE / 10000)*10000 AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PR..
Group By로 묶어서 판매액 연산을 할 때는 양을 SUM 해줘야 한다!! Question PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요. Point SUM(SALES_AMOUNT) * PRICE AS SALES Code SELECT PRODUCT_CODE, PRICE*SUM(SALES_AMOUNT) AS SALES FROM PRODUCT A JOIN OFFLINE_SALE B ON A.PRODUCT_ID = B.PRODUCT_ID GROUP BY A.PRODUCT_ID..
LIKE로 풀었다가 REGEXP 정규식으로 푼 코드 보고 감탄했다 ! 이 표현식에 대해서 더 공부해 봐야겠다. Question 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. Point LIKEREGEXP 정규식 (더 간단하게 표현) Code 1 - LIKE 사용 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' ..
느낀점 : DATE_FORMAT을 잘 활용하자 ~ Question 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. Point SUBSTRINGDATE_FORMAT Code 1 - SUBSTRING 사용 SELECT SUBSTRING(DATETIME, 12, 2) AS HOUR , COUNT(*) AS 'COUNT' FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR BETWEEN 9 AND 19 ORDER BY HOUR Code 2 - DATE_FORMAT ..