해커랭크 SQL문제_0207
Weather Observation Station 19 풀이: 두 점 사이의 유클리드 거리를 구하는 문제. 유클리드 거리 구하는 공식은 아래와 같다. 이제 이 공식을 사용해서 쿼리를 작성하기 위해 알아야 할 것은 제곱근 관련 함수. SQRT와 N의 M제곱을 나타내는 POW함수를 활용해서 쿼리를 작성해주면 끝. 예를 들어 POW(2, 4)는 2의 4제곱 즉 2 * 2 * 2 * 2 = 16이 나온다. 이전 문제와 동일하게 반올림해서 소수점 아래 4자리 까지 나타내주는것도 잊지말자! Weather Observation Station 20 풀이: LAT_N의 중앙값을 구해서 소수점 아래 4자리까지 구하는 문제. 오라클에는 중앙값 구하는 MEDIAN 함수가 있었던 거 같은 기억이 나서 찾아보니 내 기억이 맞았다..
2022.02.07
해커랭크 SQL문제_0206
Weather Observation Station 18 풀이: 두 좌표의 멘헤튼 거리를 구하는 문제. 멘헤튼 거리는 p1 at (x1, y1) and p2 at (x2, y2), it is |x1 - x2| + |y1 - y2| 이런 식으로 해서 구하면 된다고 한다. 최소값은 MIN으로, 최대값은 MAX로, 절대값은 ABS 함수를 사용해서 구해주면 된다. 주어진 조건에 따라서 반올림해서 소수점 아래 4자리 까지 나타내는 것도 처리해주자.
2022.02.06
해커랭크 SQL문제_0122
오늘부로 해커랭크 SQL Easy단계 문제풀이 끝!!!! Draw The Triangle 1 풀이: 문제는 딱 봐도 그거다 그거 프로그래밍 언어 배울때 꼭 해보는거 별찍기ㅋㅋㅋㅋㅋㅋㅋㅋ 쿼리로 별찍기는 또 처음이라 오잉 이거 어케하지 했지만 구글링으로 어케 하는지 찾아서 빠르게 해결했다. set으로 사용자 정의 변수 선언하고 20부터 찍어야하니깐 21로 값 대입해주기. 반복해야하니깐 select할 시 repeat으로 별을 선언한 사용자변수-1로 해서 20개부터 나오게 해주기. limit 20은 repeat에서 지정해준 횟수만큼 반복해주기 때문에 굳이 작성하지 않아도 되지만 이해를 위해 작성했단. Draw The Triangle 2 풀이: 이번에는 위에랑 반대로 1부터 20까지 해서 별찍기 쿼리. 이거는 ..
2022.01.22
해커랭크 SQL문제_1219
The PADS 풀이: select해오면 되는 문제인데 조건이 여러가지이다. 문제 해석부터 해보자. 우선 OCCUPATIONS에서 name을 가져오는데 occupation의 첫 글자도 같이 가져와야 한다. 출력 형식이 존재해서 그 형식을 맞춰야하고 occupation의 수가 같으면 오름차순 정렬도 시키면서 가져와야 한다. 첫 글자만 가져오기 위해서 substring해주고 문자열 이어주는거는 concat, 같은 occupation끼리 묶어야 하니깐 group by해주면 원하는 결과가 나오게 할 수 있었다.
2021.12.19
해커랭크 SQL문제_1218
Average Population of Each Continent 문제: Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer. CITY.CountryCode and COUNTRY.Code are matching key columns. 풀이: PK, FK인 CountryCode랑 Code 가지고 Continent별 Population을 구하되, 평균을 구하고 rounded down 시키기! 평균은 AVG 사용해서 ro..
2021.12.18
해커랭크 SQL문제_1215
Top Earners 문제:We define an employee's total earnings to be their monthly salary * months worked, and the maximum total earnings to be the maximum total earnings for any employee in the Employee table. Write a query to find the maximum total earnings for all employees as well as the total number of employees who have maximum total earnings. Then print these values as space-separated integers. Th..
2021.12.15
해커랭크 SQL문제_0828
The Blunder 문제: Samantha was tasked with calculating the average monthly salaries for all employees in the EMPLOYEES table, but did not realize her keyboard's 0 key was broken until after completing the calculation. She wants your help finding the difference between her miscalculation (using salaries with any zeros removed), and the actual average salary. Write a query calculating the amount of ..
2021.08.28
Stored Function
Stored Function(사용자 함수) - 오라클에 제공하는 함수외에 추가적인 함수를 등록 할 수 있다. - 공통적으로 적용할 기능을 캡슐화하기 위해 사용할 수 있다. - 반복적으로 발생하는 컬럼 데이터 조작이 있는 경우 함수의 대상이 된다. - 다양한 쿼리(INSERT, DELETE, UPDATE, SELECT, GROUP BY...) 속에서 사용될 수 있다. - CREATE FUNCTION 다음에 이름을 작성하고 괄호 안에 파라미터 작성. - RETURNS 구문에 반환할 값의 데이터 타입을 작성해주기. - 같은 입력 파라미터를 사용하면서 stored function이 같은 결과를 반환할 경우 deterministic으로 간주.
2021.08.28
해커랭크 SQL문제_0807
Revising Aggregations-Averages 문제: Query the average population of all cities in CITY where District is California. 풀이: district가 California인 CITY의 인구 수의 평균을 구하는 문제. AVG 함수로 간단히 해결할 수 있다. SELECT AVG(POPULATION) AS cali_avg FROM CITY WHERE DISTRICT = 'California'; Average Population 문제: Query the average population for all cities in CITY, rounded down to the nearest integer. 풀이: CITY의 모든 도시들에 대해 ..
2021.08.07