Oracle 3

[해커랭크 HackerRank] SQL Project Planning (Oracle)

SQL Project Planning | HackerRank SQL Project Planning | HackerRank Write a query to output the start and end dates of projects listed by the number of days it took to complete the project in ascending order. www.hackerrank.com Advanced Join 문제이다. 주어진 테이블에 start_date와 end_date라는 컬럼이 있는데, 같은 행의 두 원소는 무조건 하루가 차이 난다. 이때, 연속하는 날짜의 행은 같은 프로젝트이다. 프로젝트가 시작하는 날짜와 끝나는 날짜를 찾고 걸린 기간에 따라 정렬하면 된다. 위와 같은 테이블은..

Algorithm 2021.04.03

[해커랭크 HackerRank] Symmetric Pairs (Oracle)

Symmetric Pairs | HackerRank Symmetric Pairs | HackerRank Write a query to output all symmetric pairs in ascending order by the value of X. www.hackerrank.com Advanced Join 문제다! 문제 이해하는데 시간이 좀 걸렸다. Symmetric Pairs는 어떤 함수 F에 대해 F(X1) = Y1, F(X2) = Y2 일 때, X1 = Y2이고 X2 = Y1인 두 항을 말한다. 즉 위의 함수에서는 (첫 번째, 두번째), (세 번째, 여섯 번째), (네 번째, 다섯 번째)의 세 쌍의 Symmetric Pairs가 나온다. 이때, 한 쌍 안에서 X 1 OR F1.X < F1.Y OR..

Algorithm 2021.03.19

[해커랭크 HackerRank] Placements (Oracle)

Placements | HackerRank Placements | HackerRank Write a query to output the names of those students whose best friends got offered a higher salary than them. www.hackerrank.com Advanced Join 문제이다! STUDENTS 테이블은 학생, FRIENDS 테이블은 그들의 가장 친한 친구, 그리고 PACKAGES에는 그들의 월급 정보가 저장돼 있다. 이때, 베프가 본인보다 월급이 높은 학생의 이름을 출력해야 한다. 왜 이런 자해 행위를... 우선 학생과 베프를 찾아야 하기 때문에, ID로 조인을 건다. 그리고 월급 정보가 들어있는 PACKAGES를 두 번 사용하여 ..

Algorithm 2021.03.19