본문 바로가기

SQL

(20)
[SQL 챌린지] 해커랭크 정복하기 Day 3 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Weather Observation Station 7] STATION 테이블에서 'a, e, i, o, u'로 끝나는 도시 이름을 조회하는 쿼리를 작성하세요. 단, 중복은 제거하세요. 풀이 select distinct city from station where city RLIKE '[aeiou]$' ✍ RLIKE 문법 이용 ✍ 정규표현식 이용 ✍ LI..
[SQL 챌린지] 해커랭크 정복하기 Day 3 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Weather Observation Station 6] STATION 테이블에서 'a, e, i, o, u'로 시작하는 도시 이름을 조회하는 쿼리를 작성하세요. 단, 중복은 제거하세요. 풀이 SELECT DISTINCT city FROM station WHERE city RLIKE '^[aeiou]'; ✍ RLIKE 문법 이용 ✍ 정규표현식 이용 ✍ ..
[SQL 챌린지] 해커랭크 정복하기 Day 2 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Weather Observation Station 5] 풀이 -가장 긴 문자열, 짧은 문자열 각각 쿼리 작성 -가장 긴 문자열 SELECT * FROM (SELECT CITY, LENGTH(CITY) FROM STATION ORDER BY LENGTH(CITY) DESC, CITY ASC ) WHERE ROWNUM = 1; -가장 짧은 문자열 SELE..
[SQL 챌린지] 해커랭크 정복하기 Day 2 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Weather Observation Station 4] 풀이 SELECT COUNT(CITY)-COUNT(distinct(CITY)) FROM STATION; ✍ CITY 칼럼의 중복된 값과 유일한 값 개수 차이를 알아보는 문제로 COUNT와 DISTICT를 이용하면 됩니다.
[SQL 챌린지] 해커랭크 정복하기 Day 1 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Japandese Cities' Attributes] CITY 테이블에서 일본의 모든 컬럼을 쿼리하세요. 일본 CountryCode는 'JPN'입니다. 풀이 select * from city where countrycode = 'JPN'; ✍여기서 'JPN'만 대문자로 작성한 이유는 컬럼에 들어 있는 값은 지정된 값 그대로 작성해야 데이터 조회가 됩니..
[SQL 챌린지] 해커랭크 정복하기 Day 1 ✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..) 🚀 이 포스팅 보신분 당장 저의 챌린지에 동참해주세요. (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.) 😇 basic단계는 하루에 몇개라도 업로드 할 예정입니다. (예> Day* ~ Day* 10 그 이상도 될 수 있습니다.) 문제 [Revising the Select Query 2] American 인구가 120,000명 이상인 미국 CITY의 NAME을 쿼리하시오. America의 CountryCode는 USA입니다. 풀이 SELECT NAME FROM CITY WHERE POPULATION>120000 AND CountryCode = 'USA'; 문제 링크: https://w..
[SQL/프로그래머스] 어린 동물 찾기 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) F..
[SQL/프로그래머스] 아픈 동물 찾기 문제 설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSEINTAKE_CONDITIONVARCHAR(N)FALSENAMEVARCHAR(N)TRUESEX_UPON_INTAKEVARCHAR(N)FALSE 동물 보호소에 들어온 동물 ..
[SQL/프로그래머스] 상위 n개 레코드 문제 설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSEINTAKE_CONDITIONVARCHAR(N)FALSENAMEVARCHAR(N)TRUESEX_UPON_INTAKEVARCHAR(N)FALSE동물 보호소에 가장 먼저 들어온 ..
[SQL] 데이터 분석하기 - 구매 지표 추출 데이터 분석의 기초가 되는 SQL을 이용해 데이터를 조회해보도록 하겠습니다. 1. 매출액(일자별, 월별, 연도별) 2. 구매자 수, 구매 건수(일자별, 월별, 연도별) 3. 인당 매출액(연도별) 4. 건당 구매 금액(연도별) 1) 매출액(일자별, 월별, 연도별) a) 일별 매출액 조회 일별 매출액을 조회하려면 주문일과 판매금액이 필요합니다. ERD를 보면 주문 일자(orderdate)는 orders 테이블에 존재하고, 판매액(priceEach x quantityOrdered)은 orderdetails 테이블에 존재합니다. 따라서, 해당 테이블 두 개를 결합해야 합니다. SELECT A.ORDERDATE, PRICEEACH*QUANTITYORDERED FROM CLASSICMODELS.ORDERS A LE..