1. VIEW(뷰)

   (1) 테이블이 다른 사용자가 봐서는 안되는 컬럼이 있을 때, 컬럼 가리고 보여주고 싶을 때

   (2) 복잡하고 자주 Join을 할 때

   (3) 날리는 쿼리의 길이가 짧으니 Network 트래픽에 도움을 준다.


-> 권한이 안주어져 있는 계정이라면 SYS 계정으로 권한을 부여해야 한다.

    (ORACLE에서 지원하는 연습계정은 권한이 부여 되어 있는듯?)

       HR>CONN / AS SYSDBA;

       SYS>GRANT CREATE VIEW TO HR;


   [EX] CREATE OR REPLACE VIEW [V_원하는 명칭]

         AS

             SELECT ... FROM ... WHERE ... ;

         

         -> 삭제는 DROP VIEW [V_원하는 명칭];


   * Inline VIEW(1회용 뷰) : FROM절에 서브쿼리를 써줌

        [EX] SELECT ... 

              FROM SELECT ...

                         FROM ...

                         WHERE ... )

              WHERE ... ;



2. SEQUENCE(시퀀스) : 자동증가(넘버링)

   -> 동시 접속이 생기는 상황에서 유용할듯?


   [EX] CREATE SEQUENCE [SEQ_원하는 명칭]

         INCREMENT BY 1 -- 증가값

         MINVALUE 1       -- 최소값

         START WITH 1     -- 시작번호(기본값 1)

         ;

        -> 조건을 더 다양하게 줄 수 있지만 머리 아프니깐 생략!


        INSERT INTO [생성되어 있는 테이블명]

   VALUES ( [SEQ_원하는 명칭].NEXTVAL, 'ORACLE 기초', '기초학습자', '20161221' );


         -> 삭제는 DROP SEQUENCE [SEQ_원하는 명칭];


1. Cartesian Product(카티션 곱)

   : Join 조건이 없이 그대로 붙이는 것 (참조되는 테이블의 행 수의 곱이 결과값이 된다.) <- 그래서 카티션 곱인듯ㅋ



2. Equip Join 

   : 흔히 쓰는 Join (동일한 값으로 Join 걸어 줄 때)



3. Non-Equip Join 

   : 잘 안쓰일듯한 Join (범위로 Join 걸어 줄 때)  [ex] BETWEEN A AND B



4. Outer Join (덱스가 있어도 Full Scan을 하므로 속도가 너무 느려짐!! 안쓰길 권장!!!)

   (1) LEFT OUTER JOIN (왼쪽에 있는 테이블을 다 보고 싶을 때)  

      [ex] 왼쪽 테이블에 Join으로 엮이는 컬럼이 null 값이 있다던지..

   (2) RIGHT OUTER JOIN (오른쪽에 있는 테이블을 다 보고 싶을 때)

   


5. Self Join

   : 동일한 테이블을 두개를 쓰고 Alias를 달리 해서 지지고 볶는 일.

    [EX] ... FROM EMPLOYEE A JOIN EMPLOYEE B ON A.MANAGER_ID = B.EMPLOYEE_ID ...



6. Sub Query (참고로 Sub Query는 데이터가 적을 때 빠른긴 함) 

   (1) 두 번 조건을 줘야할 때 유용하게 쓸 수 있는데, Join이 빠를지 얘가 빠를지를 고민해서 쓰도록 합시다!

   (2) 밑에 EX에서 괄호 사이의 쿼리가 다중행 리턴 시, 사용하는 것들 - IN , >ANY , <ANY , <ALL , >ALL (잘 안쓰일듯..)

   [EX] ... FROM EMPLOYEE WHERE MANAGER_ID = (SELECT EMPLOYEE_ID ...) ...


날짜를 String 형태로 그냥 보여주는 형태로만 나타내면 좋을텐데..

 

날짜 연산이 들어가면 DateTime을 써야되더라고요.. 그래서 간략하게 DateTime에 대해서 정리해보겠습니다.

 

 

 

1. 현재시간을 출력해보겠습니다.

 

  DateTime now;              // 날짜 변수 선언(어차피 현재시간 넣을것이니 임의로 now..)

  now = DateTime.Now;    // 현재시간

 

  Console.WriteLine(now);  // 현재시간을 표현해줍니다.

 

 

2. 현재 시간을 DateTime 변수에 넣어서 년, 월, 일 등으로 분리 해보겠습니다.

   (비주얼 스튜디오에서는 "now."까지 입력하면 아래와 같은 리스트가 나올 것입니다.)

 

  [ex] now.Year  ,  now.Month  ,  now.Day.... 등등

 

 .Year   

현재 년도

 .Month

현재가 몇 월

 .Day    

현재가 몇 일

 .DayOfWeek

현재가 몇 주인지

 .DayOfYear

1년 중 몇 일째인지

 .TimeOfDay

금일 자정부터 현재까지 몇시간째인지

 .Hour

현재 시

 .Minute

현재 분

 .Second

현재 초

 

 

3. 시간을 연산해보겠습니다.

 

  3-1. 연단위 연산     [EX] now = DateTime.Now.AddYears(7);       // 7년을 더함

 

  3-2. 월 단위 연산    [EX] now = DateTime.Now.AddMonths(7);    // 7개월을 더함

 

  3-3. 일 단위 연산    [EX] now = DateTime.Now.AddDays(7);       // 7일을 더함 

 

  3-4. 시간 단위 연산 [EX] now = DateTime.Now.AddHours(7);      // 7시간을 더함

 

  3-5. 분 단위 연산    [EX] now = DateTime.Now.AddMinutes(7);   // 7분을 더함

 

  3-6. 초 단위 연산    [EX] now = DateTime.Now.AddSeconds(7);  // 7초를 더함

 

 

 

이상입니다^^


ROWNUM을 활용하여 간단하게 순번을 지정 할 수 있기 때문에 간편하게 순번들을 먹일것입니다.

 

(EX) "ABC" TABLE

 

A

B

C

TEST12

TESTTEST12

TESTTESTTEST12 

TEST123

TESTTEST123

TESTTESTTEST123 

 

 

 -> SELECT ROWNUM, A, B, C FROM ABC

 

ROWNUM 

 1

 TEST12

 TESTTEST12

TESTTESTTEST12 

 2

 TEST123

 TESTTEST123

TESTTESTTEST123 

 

 

하지만...

 

ORDER BY를 사용한다면 상황은 달라집니다.

 

왜냐?

 

ROWNUM이 ORDER BY 보다 우선순위가 앞서기 때문이죠. (ROWNUM으로 순번 먹히고 ORDER BY로 재정렬..)

 

 

 

위 상황에서 대처하는 방법

 

=> RANK 함수를 활용하여 순번을 임의로 정의해주면 됩니다.

 

 

※ A컬럼을 기준으로 순번을 먹이는 예입니다.

 

(EX) SELECT (RANK() OVER(ORDER BY A)) ROWNUMS, A, B, C FROM ABC

 

 

 

 

정상적으로 출력되는 모습을 보실 수 있을 것입니다 ^^

 


※ 기본구문

 

 - INSERT INTO [TABLE명_1(컬럼1, 컬럼2, ...)]

   SELECT [컬럼1, 컬럼2, ...] FROM [TABLE명_2] WHERE [조건]

 


 

 

[예제]  A_TABLE의 A, C, E 컬럼을 J_TABLE의 J, K, M 컬럼에 복사

 

(존재하는(생성한) 테이블 : A_TABLE, J_TABLE)

 

  1. A_TABLE의 컬럼 : A, B, C, D, E, F, G, H, I

 

1

999 

999 

999 

999 

999 

999 

999

999

999 

999 

999 

999 

 

  2. J_TABLE의 컬럼 : J, K, L, M, N

 

 J

null

null

null

null

null

 

 

=> INSERT INTO J_TABLE(J, K, M)

     SELECT A, C, E

     FROM  A_TABLE

     WHERE A > 0

 

COMMIT 해주면 복사 완료!

 

 

3. 작업 후, J_TABLE의 컬럼 : J, K, L, M, N

 

 J

null 

null 

4

5

null

6

null

 


2013년 8월에 MX Anywhere 마우스를 로지텍에서 구매를 했었습니다.

 

프로그래밍 소스를 보는데 있어서 다른 직원이 사용하는 로지텍의 무한휠 기능은 너무 유용해 보여서 구매하게 된 마우스였습니다.

 

다 좋은데.. Anywhere 마우스의 고질병인 더블 클릭 현상.. ;;;

 

하지만 다행히도 3년 무상 A/S!!!!!!

(2016년 8월이 3년 끝인데.. 8월 이전에 고장난것에 감사하며 ㅋㅋ)

 

로지텍에 문의하니 택배로 보내라고 했습니다.

(재고가 없어서 늦어질 수도 있으니 2를 원하면 2를 원한다고 종이 써서 같이 보내라고 했습니다.)

 

2를 원한다고 썼더니 2가 왔습니다. 그래서 구매기 아닌듯 구매기 인듯한..ㅋㅋ

 

 

0. 목차

 

1. 언박싱 / 2. 구성품 / 3. 마우스 생김새(+동영상) / 4. 제품회사(Logitech)의 제품사진 및 스펙 / 5. 구매(?) 교환평

 

 

1. 언박싱

 

박스를 열었는데 마우스를 뽁뽁이로 완전 똘똘똘똘똘똘똘똘똘 감아놓은 ㅎㅎㅎ

펼쳐보니 길이가 어마어마하네요!

 

 

뽁뽁이를 벗기자 나타난 원래 마우스 박스

 

 

박스 오픈!!

 

박스 오픈 방식이 고급스러운 느낌이네요ㅎㅎ(자석으로 열고 닫고 하는 방식)

전반적으로 고급진 느낌이네요^^

 

 

 

2. 구성품

 

구성품으로는 위에서 부터

[수리내역서], [마우스설명서], [마우스충전케이블], [마우스], [블루투스수신기] 입니다.

수리내역서에는 더블클릭 불량으로 교체했다는 내용이 있고, 설명서엔 이런저런 설명이 있네요~^^

 

 

 

3. 마우스 생김새(+동영상)

 

갤럭시 노트4로 근접샷을 찍어봤습니다!

마우스 디자인이 참 이쁜^^

 

휠 옆에 화살표 같은게 보이는데

저건 아마도 휠을 오른쪽으로 왼쪽으로 움직일 때마다 기능을 넣을 수 있기 때문에 표기해놓은거 같습니다.

인터넷 탭창을 많이 띄우는 저는 Ctrl+Tab , Ctrl+Shift+Tab 으로 설정하여

Tab 페이지를 쉽게 왔다갔다하는 용으로 쓰고 있습니다^^

(너무 편해!!)

휠 뒤에 버튼은 손이 잘 안가서 잘 안쓰게되는^^;;

 

 

사진을 잘나오는 각도만 신경 써서 찍었더니 버튼들이 안나왔네요 ㅋㅋ

오른손잡이 기준으로 엄지손가락 걸리는 버튼 두개가 있어요!!

기본 셋팅은 앞으로 가기, 뒤로가기인데

저 같은 경우는 뒤로가기는 그대로고 앞으로 가기는 Ctrl+w 로 설정하고 tab을 쉽게 닫는 용으로 쓰고 있습니다ㅋㅋ

 

뒷면은 시리얼 넘버(하얀부분)를 지웠습니다^^

 

 

마우스 앞쪽엔 충전케이블을 연결할 수 있는 구멍이 있습니다. (깔끔깔끔)

 

 

수신기도 anywhere1에 비해서 많이 얇아졌습니다.

(너무 근접하게 찍었나.. 엄청 커보이네..^^;)

실제론 엄청 얇습니다!! ㅎㅎ

 

 

여기까진 좋았는데.. 흔들어 보니 소리가 나는...(아래 동영상 참고)

어디서 나는지는 잘모르겠지만.. 쓰는데에는 불편하지 않습니다!!

아쉬운 마음이 들뿐이죠...ㅎㅎ

 

 

 

4. 제품회사(Logitech)의 제품사진 및 스펙

 

 

 

 

 

 

 

5. 구매(?) 교환평

 

교환을 받고 일주일 정도 사용 중인데,

 

클릭감은 SoSo

 

스크롤은 Good

 

On/Off 방식은 Bad

(작아서 anywhere1에 비해 불편..)

 

마우스 크기가 Small

그래서 손 큰 사람에게는 불편할 수도.. (저는 손 큰 편이지만 안불편한..^^;)

 

그리고 마지막으로 건전지 방식이 아니라 충전식이라서

무게가 가벼워져서 좋긴한데.. 너무 가벼운 감이 있는것 같애요..

(사람마다 느끼는게 다를듯 싶네요 ㅎㅎ)

 

 

약간 안좋게 썼지만.. 솔직히 이만한 마우스 없다는 생각이 드네요 ^-^ 추천!!

(다른 제조사의 마우스 여러개 써보고 드는 생각입니다.. ^^;)

 

 

마우스패드 없이 마우스 사용하고 싶다 // 마우스에 7만원 정도 투자할 수 있다 // 무한스크롤 매력적이다 // 작은 마우스 좋다 // 선이 거슬린다

 

하시는 분들에게 추천 할 수 있겠습니다.

 

 

이상으로 고장 없이 몇년간 더 쓸 수 있길 바라며 제품 후기 마칩니다^^

 

'구매기' 카테고리의 다른 글

PHILIPS LEVER 72007(필립스 아이케어 72007) 구매기  (0) 2016.02.18

1. 테이블 컬럼 추가하기(ALTER TABLE ADD)

[문법] ALTER TABLE 테이블명 ADD(컬럼명 데이타타입(사이즈));

( EX ) USER라는 테이블에 USER_NAME이라는 컬럼을 VARCHAR2(13) 타입으로 추가할 때

-> ALTER TABLE USER ADD(USER_NAME VARCHAR2(13)); 

 

2. 테이블 컬럼 수정하기(ALTER TABLE MODIFY)

[문법] ALTER TABLE 테이블명 MODIFY(컬럼명 테이타타입(사이즈));

( EX ) USER라는 테이블에 USER_AGE 라는 컬럼을 NUMBER(3) 타입으로 수정할 때

-> ALTER TABLE USER MODIFY(USER_AGE NUMBER(3));

 

3. 테이블 컬럼 삭제하기(ALTER TABLE DROP)

[문법] ALTER TABLE 테이블명 DROP COLUMN 컬럼명

( EX ) USER라는 테이블에 USER_NAME라는 컬럼을 삭제할 때

-> ALTER TABLE USER DROP COLUMN USER_NAME;

 

4. 테이블 컬럼 이름 변경하기(ALTER TABLE RENAME)

[문법] ALTER TABLE 테이블명 RENAME COLUMN 원래컬럼명 TO 바꿀컬럼명;

( EX ) USER라는 테이블에 USER_NAME 이라는 컬럼을 USER_FIRST_NAME으로 변경할 때

-> ALTER TABLE USER RENAME COLUMN USER_NAME TO USER_FIRST_NAME;

 

 

컬럼 수정 작업은 테이터가 별로 없는 테이블이나 시작 단계에서 작업을 하는 것을 추천합니다.

1. 데이터가 많으면 수정하는데 시간이 많이 걸릴 것입니다.

2. 컬럼 수정으로 인해 컬럼명이 매칭이 되지 않아서 프로그램 오류가 발생할 수도 있습니다.



1. 실행 -> regedit

 

2. HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE에 문자열 값을 새로만들기 합니다.

    - 값 이름 : NLS_LANG

    - 값 데이터 : KOREAN_KOREA.KO16MSWIN949

 

3. 내컴퓨터 -> 오른쪽클릭 -> 속성 -> 고급시스템설정 -> 환경변수 -> 새로만들기(시스템변수)

    - 레지스트리 편집기(regedit)에 입력했던 값과 동일하게 입력 후 확인 버튼을 클릭합니다.

    - 변수 이름 : NLS_LANG

    - 변수 값 : KOREAN_KOREA.KO16MSWIN949



기존에 쓰던 스탠드가 오래 되서 그런건지..중소기업 제품이라서 그런건지.. 안쓰다 써서 그런건지.. 스탠드를 켜면 잡음이 계속 들리는..(ㅡㅡ;)


그래서 스탠드를 하나 사기로 결정!!!

인터넷에 보니 3M과 PHILIPS가 좋다고 추천하는 글을 보고 검색 GO! GO!

그런데 생각보다 스탠드가 비싸네요..

그나마 가성비가 좋아보이는 PHILIPS LEVER 72007을 구매하기로 마음을 먹고 11번가에서 47,900원에 구매 완료!!

0. 목차

1. 박스 OPEN  /  2. 제품 검사  /  3. LED 검사  /  4. 제품 회사(PHILIPS)의 제품 사진 및 스펙 설명  /  5. 구매평


1. 박스 OPEN

택배 박스를 열었는데 뽁뽁이도 없고 저렇게..;;; 택배 오면서 BOX 안에서 많이 돌았을듯.. (ㅡㅡ;)

판매자에게 크나큰 실망을 하고 내용물 막 다 끄집어 내기!!

필립스 박스 안에 저런 종이 쪼가리들이 공간을 꽉 채우고 있어서 은근히 제품을 잘 보호 했을거 같은 느낌이 들어요!!
판매자는 이걸 알고 일부로 뽁뽁이 없이 보낸건가..ㅋㅋ


2. 제품 검사

제품 검사 시간!!

스탠드 LED 윗면인데, 흰색과 금색 이음새 부분 마감 엉망 ㅠㅠ


기둥부분 스크래치 2개 있고..
(사진으론 별로 부각되게 안보이넹 ㅋㅋ)

이정도 가격에 이정도 품질일거라는 생각을 했었기에 뭐 그러려니 하고 쓰려고 합니다. ^^;


3. LED 검사

LED 검사 시간

LED 빵빵하네요 ㅋㅋ
4단계 밝기 조절이 되는데, 폰카로는 도저히 구분이 불가능해서 사진은 PASS~

터치로 된 버튼이 하나이기 때문에 켜거나 끄거나 모드 변경 방법을 알기 위해선 설명서 봐야합니다!!
(뭐 그래봐야 끌때 1초 이상 눌러서 꺼라는 설명 밖에 없지만..ㅋㅋㅋ)


4. 제품 회사(PHILIPS)의 제품 스펙 설명 


5. 구매평

켜놓고 책을 봤는데 빛반사도 많이 안되고 좋네요!
(빛반사 완전히 안될걸 기대했는데..그건 아니네요..)
디자인 이뻐요^^ (다만 얇아서 조금 없어보임..ㅋㅋ)

가성비 좋을거라 기대했는데,
그냥 음.. '가격 정도의 제품이다'라는 느낌을 받은 제품입니다.

얇은 디자인 선호 // 빛반사 싫어 // 5만원 정도는 눈에 투자할 수 있어 // 제품마감에 민감하지 않아

하시는 분들에게 추천 수 있겠네요^^

잡음 없고 고장 없이 잘 작동 하길 바라며.. 이상으로 PHILIPS LEVER 72007 제품 구매기 마칩니다.


'구매기' 카테고리의 다른 글

로지텍(Logitech) MX AYWHERE2 마우스 교환기(구매기?)  (2) 2016.06.10

+ Recent posts