일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그램서
- HashMap
- 자바
- 문자열 숫자 변환
- Eclipse
- JDK
- 노선별 평균 역 사이 거리 조회하기
- mysql
- 코딩테스트
- 알고리즘
- 맥북
- M1
- 27866
- github
- Android Studio
- SQL코딩테스트
- sort정렬
- Java
- Iterator
- 포맷 지정자
- 백준
- homebrew
- 가격이 제일 비싼 식품의 정보 출력하기
- OAuth 인증
- 해시
- 핸드폰 가리기
- 깃허브
- MAC OS
- 프로그래머스
- 안드로이드 스튜디오
- Today
- Total
목록SQL (13)
개발일지
🔗 링크카테고리 별 상품 개수 구하기 📌 문제 설명Table: PRODUCT상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력결과는 상품 카테고리 코드를 기준으로 오름차순 정렬❓ 의문점PRODUCT_CODE의 앞 2자리만 어떻게 구할까? 📍문자열 부분 가져오기LEFT(): 왼쪽을 기준으로 일정 갯수를 가져옴MID(): 지정한 시작 위치를 기준으로 일정 갯수를 가져옴* SUBSTR / SUBSTRING 함수의 동의어RIGHT(): 오른쪽을 기준으로 일정 갯수를 가져옴LEFT(문자, 가져올 갯수);MID(문자, 시작 위치, 가져올 갯수);-- SUBSTR(문자, 시작 위치, 가져올 갯수);-- SUBSTRING(문자, 시작 위치, 가져올 갯수);RIGHT(문자, 가져올 갯수);..
🔗 링크자동차 평균 대여 기간 구하기 📌 문제 설명Table: CAR_RENTAL_COMPANY_RENTAL_HISTORY평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트 출력평균 대여 기간은 소수점 두번째 자리에서 반올림결과는 평균 대여 기간을 기준으로 내림차순 정렬, 자동차 ID를 기준으로 내림차순 정렬❓ 의문점날짜 계산을 어떻게 해야 할까? 📍 DATEDIFF날짜 계산 시 사용 (날짜1 - 날짜2)두 날짜의 차이를 알려줌(+1을 해야 기간을 알 수 있음)DATEDIFF(날짜1, 날짜2) 예제)SELECT DATEDIFF('2023-05-01', '2024-05-01');// -366 📍 TIMESTAMPIFF날짜 계산 시..
🔗 링크조건에 부합하는 중고거래 상태 조회하기 📌 문제 설명Table: USED_GOODS_BOARD2022년 10월 5일에 등록된 중고거래 게시물의 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회거래상태가 SALE이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력결과는 게시글 ID를 기준으로 내림차순 정렬💻 코드SELECT BOARD_ID, WRITER_ID, TITLE, PRICE,FROM USED_GOODS_BOARDWHERE CREATED_DATE LIKE '2022-10-05'ORDER BY BOARD_ID DESC; 💡 결과 ❓ 의문점거래상태를 판매중, 예약중, 거래완료로 분류하여 출력하는 법을 모름.. 📍 CASE WHEN새로운 열을..
🔗 링크노선별 평균 역 사이 거리 조회하기 📌 문제 설명Table: SUBWAY_DISTANCE노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 조회총 누계거리는 역들의 역 사이 거리의 총 합을 뜻함총 누계거리의 컬럼명은 TOTAL_DISTANCE, 평균 역 사이 거리의 컬럼명은 AVERAGE_DISTANCE로 표기총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(km)를 함께 출력결과는 총 누계거리를 기준으로 내림차순 정렬💻 코드SELECT ROUTE,ROUND(SUM(D_BETWEEN_DIST), 1) AS TOTAL_DISTANCE,ROUND(AVG(D_BETWEEN_DIST), 2) AS AVERAGE_DISTANCEFROM SUBWAY_DIS..
🔗 링크가격대 별 상품 개수 구하기 📌 문제 설명Table: Product만원 단위의 가격대 별로 상품 개수를 출력이때, 컬럼명은 PRICE_GROUP, PRODUCTS로 지정,가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000원 미만인 구간인 경우 10,000)으로 표시결과는 가격대를 기준으로 오름차순 정렬 ❓ 의문점각 구간별 금액으로 묶는 법을 모름..📍 TRUNCATE특정 자릿수 이하 숫자를 버림버릴 자릿수를 무조건! 명시해줘야 함TURNCATE 아님 TRUNCATE임SELECT TRUNCATE(숫자, 버릴 자릿수) FROM 테이블명; 예시)SELECT TRUNCATE(1234.5678, 1) FROM EXAMPLE;// 1234.5SELECT TRUNCATE(1234.56..
프로그래머스 ROOT 아이템 구하기> 문제를 풀던 중Column 'ITEM_ID' in field list is ambiguous라는 오류가 떴다. 코드SELECT ITEM_ID, ITEM_NAMEFROM ITEM_INFO AS AJOIN ITEM_TREE AS BON A.ITEM_ID = B.ITEM_IDWHERE B.PARENT_ITEM_ID IS NULL; 결과 → 찾아보니 JOIN을 진행할 때 컬럼명 앞에 테이블명을 붙여줘야 했다. SELECT A.ITEM_ID, A.ITEM_NAMEFROM ITEM_INFO AS AJOIN ITEM_TREE AS BON A.ITEM_ID = B.ITEM_IDWHERE B.PARENT_ITEM_ID IS NULL; ..
문제 설명Table: ANIMAL_INS보호소에 들어온 동물의 이름은 몇 개인지 조회이름이 NULL인 경우는 집계하지 않으며중복되는 이름은 하나로 침 코드SELECT DISTINCT COUNT(NAME) AS 'count'FROM ANIMAL_INSWHERE NAME IS NOT NULL; 결과→ 중복값이 빠지지 않음 DISTINCT중복 제거SELECT DISTINCT 컬럼명 FROM 테이블명; 코드SELECT COUNT(DISTINCT NAME) AS 'count'FROM ANIMAL_INSWHERE NAME IS NOT NULL;→ distinct를 컬럼명 앞에 붙여줘야 함. 결과
문제 설명Table: FOOD_PRODUCT가격이 제일 비싼 식품의 식품ID, 식품 이름, 식품 코드, 식품 분류, 식품 가격 조회 코드SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE) AS PRICEFROM FOOD_PRODUCT; 결과→ 가격만 최대값이 나오고 나머지는 첫번째 값(가장 위에 있는 값)이 나왔다. WHERE절 사용SELECT *FROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT); ORDER BY특정 컬럼을 기준으로 정렬FROM → WHERE → GROUP BY → ORDER BY 순 (SQL문 제일 ..