마농님 마지막으로 2문제만 여쭙겠습니다ㅜ 0 8 663

by 이기욱 [2021.02.06 23:54:53]


1612623060217.jpg (52,964Bytes)
1612623043897.jpg (28,742Bytes)

내일 모레가 시험이라 정말 염치없지만 물어볼곳이 여기뿐이라 아래 2문제 여쭙니다. 바쁘신와중에 신경써 주셔서 감사하고 또 죄송합니다 ㅜ

by 마농 [2021.02.07 12:34:46]

1번. 사원을 2가지 기준으로 정렬합니다.
첫번째 최고 급여를 받는 직원은 A 그렇지 않은 직원은 이름 으로 순방향 정렬
두번째 이름 역순 정렬
last_name 과 A 를 순방향 정렬하면 A 가 가장 먼저 나오게 되고
-> 최고급여를 받는 직원이 먼저 출력, 나머지 직원이 나중에 출력이 되고
최고 급여를 받는 직원 ORDER BY 'A' ASC, last_name DESC
-> 최고급여를 받는 직원은 이름 역순 정렬
나머지 직원 ORDER BY last_name ASC, last_name DESC
-> 같은 이름으로 정렬하니 두번째 정렬은 무의미함.
-> 나머지 직원은 이름 순 정렬
A) 최고 급여 직원이 이름 역순(내림차순,DESC) 정렬로 처음에 표시되고
B) 나머지 직원은 이름 순(오름차순, ASC) 정렬로 표시됨


2번. 크로스 셀프조인 후 조건절 처리.
조건은 무게가 더 큰 브릭과 연결
1행은  5보다 큰 2,3,4행과 연결 -> 3row
2행은 10보다 큰 3,4행과 연결 -> 2row
3행은 15보다 큰 4행과 연결 -> 1row
4행은 20보다 큰 거 없음 -> 0row
결과는 -> 3+2+1=6row


by 케빈재브라위너 [2021.02.10 14:18:12]

마농님 어떻게 하면 그정도로 잘해질수 있나요..?

혹시 보시던책이라던가 좋은 강의같은거 추천해주실수있나요 


by 이기욱 [2021.02.07 13:14:25]

마농님 1번은 그럼 답이 B) 나머지 모든 직원 이름은 오름차순으로 표시된다 C) 최대 급여를 받는 직원의 이름이 오름차순으로 먼저 표시된다가 맞나요??


by 마농 [2021.02.07 15:21:19]

C 가 아니라 A


by 이기욱 [2021.02.07 13:24:18]

제가 이해력이 조금 부족해서 1번문제 풀이가 조금 어렵습니다 ㅜ


by 마농 [2021.02.07 15:52:01]

저는 영어가 부족해서 해석이 어렵네요.


by 마농 [2021.02.07 15:49:18]
WITH employees AS
(
SELECT 'AAA' last_name, 500 salary FROM dual
UNION ALL SELECT 'BBB', 400 FROM dual
UNION ALL SELECT 'CCC', 500 FROM dual
UNION ALL SELECT 'DDD', 200 FROM dual
UNION ALL SELECT 'EEE', 500 FROM dual
UNION ALL SELECT 'FFF', 300 FROM dual
)
SELECT CASE WHEN salary = (SELECT MAX(salary) FROM employees)
            THEN 'A' ELSE last_name END AS ord
     , last_name
     , salary
  FROM employees
 ORDER BY ord, last_name DESC
;
------------------------------------------------------------
| ORD | LAST_NAME | SALARY | 비고                          |
------------------------------------------------------------
| A   | EEE       |    500 | 최고급여 A는 역순 EEE>CCC>AAA |
| A   | CCC       |    500 | 최고급여 A는 역순 EEE>CCC>AAA |
| A   | AAA       |    500 | 최고급여 A는 역순 EEE>CCC>AAA |
| BBB | BBB       |    400 | 나머지는 오름차순 BBB>DDD>FFF |
| DDD | DDD       |    200 | 나머지는 오름차순 BBB>DDD>FFF |
| FFF | FFF       |    300 | 나머지는 오름차순 BBB>DDD>FFF |
------------------------------------------------------------

 


by 이기욱 [2021.02.07 16:01:13]

마농님 이해하기쉽게 풀이해주셔서 진심으로 감사드립니다 좋은하루 보내세요!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입