하아. 싫다.
왜 창문의 햇살이 내 책상으로만 들어오냐 말이지.
거기다 일도 잘 안되.
OMG...
정말 오늘도 일이 잘 안되고 하기 싫은 가운데.(뭐 늘 이런 날이지만)
오라클을 쓰다가 가끔씩 이게 뭐였지 하고? 움찔하게 되는 나의 실력.
그래서 헷갈릴때마다 이거나 보려고 정리 중.
우선 테스트할 사이트는 <Where are U?>
테스트할 사이트로 이동하면
이런 창이 뜨겠지.
시꺼먼 녀석이 나오는 곳에 메시지 하나가 떡하니 나온다.
영어로 please 라고 한다.
그래. please라는데 뭐 해주지.
이것저것 보면 알겠지만 빨간색 테두리가 되어있는 곳을 보면 자신이 원하는 DB를 선택하도록 되어있다.
나는 오라클.
그리고 "Build Schema" 라는 빨간색 테두리를 칠한 버튼을 누르면 하얀 백지가 된다.
참고로 지금하는 테스트는 테이블이라던가 정의같은 것들이 전혀~ 필요없으므로 스키마는 패스.
그리고 오른쪽에 쿼리를 붙여넣자.
"Run SQL" 버튼을 누르면,
"Executing SQL..." 로 글자가 바뀌면서 자기는 뭔가 하고 있다라는 것을 어필한다.
그 어필하는 동안 기다리면 (물론 에러가 없는 쿼리이길 바란다.) 수 초후에(인터넷이 느리다면 그냥 컴퓨터에 DB를 설치하자.) 결과가 나온다.
그 결과로 대충 정리하면,
RANK() OVER
이 녀석은 한마디로 짠돌이 함수이다.
결과창을 보면 알겠지만 EMP1,4 가 1등이고 그 담이 EMP3 인데 3등으로 표시되어 있다.
한마디로 등수가 높은 녀석이 많으면 밑에 있는 것들은 찌꺼기를 받으라는 말이다.
만약 EMP3 의 sal 값이 1000 이라면 EMP1,3,4 가 1이 되고 EMP2 는 4가 될 것이다.
아마 이 짠돌이 함수는 분명 경품행사 업체나 이벤트 행사 같은 DB쿼리에 자주 사용될 녀셕이 분명하다.
분명 좋은 함수지만, 기분이 나빠졌다.
DENSE_RANK() OVER
이 녀석은 한마디로 인심좋은 함수이다.
결과를 봐도 알겠지만 공동1등을 한 EMP들이 많더라도 그 다음 EMP는 2등을 받겠끔 되어 있다.
분명 좋은 함수이다. 기분이 좋아졌다.
ROW_NUMBER() OVER
이 녀석은 한마디로 깐깐한 함수이다.
절대 공동으로 함께한다는 의미는 찾을 수 없는 냉혈같은 함수이다.
인생은 선착순으로 흘러간다는 의미를 되새겨주는 함수이다.
분명 좋은 함수이나 요즘 세상을 보는 것 같아 기분이 나빠졌다.
결론 : 현재 나는 기분이 나쁘다.
댓글 없음:
댓글 쓰기