일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 해시
- github
- 문자열 숫자 변환
- 안드로이드 스튜디오
- M1
- OAuth 인증
- sort정렬
- 27866
- 자바
- 코딩테스트
- 알고리즘
- Android Studio
- 핸드폰 가리기
- 프로그램서
- 노선별 평균 역 사이 거리 조회하기
- 가격이 제일 비싼 식품의 정보 출력하기
- 맥북
- Iterator
- 포맷 지정자
- 깃허브
- MAC OS
- SQL코딩테스트
- mysql
- 프로그래머스
- 백준
- Java
- homebrew
- JDK
- Eclipse
- Today
- Total
목록SQL코딩테스트 (10)
개발일지
🔗 링크노선별 평균 역 사이 거리 조회하기 📌 문제 설명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문 제일 ..
문제 설명Table: ONLINE_SALE동일한 회원이 동일한 상품을 재구매한 데이터를 구하여,재구매한 회원ID와 재구매한 상품ID를 출력결과는 회원ID를 기준으로 오름차순 정렬, 상품ID를 기준으로 내림차순 정렬 GROUP BY데이터들을 작은 그룹으로 분류하여 소그룹에 대한 항목별로 통계 정보를 얻을 때 추가로 사용FROM절과 WHERE절 뒤에 옴GOUP BY의 조건절은 HAVING→ 동일한 회원이 동일한 상품을 재구매한 데이터를 구해야 하므로 USER_ID와 PRODUCT_ID를 그룹화 한다. 코드SELECT USER_ID, PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(*) >= 2OR..
문제 설명Table: MEMBER_PROFILE생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일 조회이때 전화번호가 NULL인 경우는 출력대상에서 제외,결과는 회원ID를 기준으로 오름차순 코드SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTHFROM MEMBER_PROFILEWHERE DATE_OF_BIRTH LIKE '____-03%'ANDGENDER = 'W'ORDER BY MEMBER_ID ASC; 결과 IS NULLIS NULLIS NOT NULLSELECT 컬럼명FROM 테이블명WHERE 컬럼명 IS NULL;// 컬럼이 ..
문제 설명TABLE: PATIENT12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회이때 전화번호가 없는 경우, 'NONE'으로 출력결과는 나이를 기준으로 내림차순 정렬, 나이가 같다면 환자이름을 기준으로 오름차순 정렬 코드SELECT PT_NAME, PT_NO, GEND_CD, AGE, TLNOFROM PATIENTWHERE AGE → 전화번호가 없는 경우, 'NONE'으로 출력하는 법 모름.. 결과 IFNULL()IFNULL(컬럼명, '대체값')SELECT IFNULL(컬럼명, '대체값') FROM 테이블_이름;→ '컬럼명'의 값 중 NULL 값인 컬럼을 '대체값'으로 나타내줌. 코드SELECT PT_NAME, PT_..