336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

오늘 엑셀 작업을 하다가 황당한 일이 생겼다...

먼가 나도 모르게.. 자간이 엄청나가 넓어진 것이다...

근데... 한글은 괜찮은데 영어만 이상했다...

 

먼가 설정이 바뀐건 알겠는데...

멀 눌렀는지도 모르고...

어느 메뉴인지도 몰라서...

소용없는 건 알면서... 되돌리기도 해보고, 껐다가 다시켜보고... 그랬다...

그다음에 정신을 차리고 검색해서 찾아냈다...

 

해결방법은...

(Alt) + (=) 를 누르면... 영어 자간이 원래대로 돌아오는 것을 확인 할 수 있다!!!!!!!

 

엑셀로 간략하게...

눌렀을때와 안눌렀을때의 차이를 보여주면 다음과 같다.

 

 

한글은 차이가 없는데, 영어는 위와같이 저렇게 차이가 난다...

아 그리고 추가적으로... 띄어쓰기나.. 특수문자.. 한글빼고는 다 자간이 넓어지는 것을 확인하였다...

(한글도 자간 차이가 있는거일수도 있지만.. 내 눈에는.. 잘 모르겠다..)

 

(그리고... 자간관련 단축키 인것 같긴 한데... 정확히 먼지는... 안찾아보고... 해결만 상태로 작업을 이어갔습니다...)

 

이 글 보고 다들 당황하시지 마시고 해결하시길 바랍니다!ㅎ

 

 

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오라클의 EXISTS와 IN함수는 의미는 거의 비슷하지만 조금의 차이를 가진다.

(NOT은 각 함수의 반대의 의미를 가진다)

 

간단하게 보면, 둘다 존재하느냐 포함하느냐 머 비슷하다.

하지만 사용 방식의 차이와 NULL 값을 포함하냐 마느냐 차이가 있다.

그리고 EXISTS는 서브쿼리만을 사용이 가능하고, IN은 서브쿼리뿐만 아니라 단순 값도 사용이 가능하다.

이런 설명보단 예시로 보는게 가장 이해하기 좋은 것 같으니 예시를 봐보자.

 

(가로로 배치했었는데... 반응형때문에.. 뭉개져서.. 보시기 불편하겠지만.. 세로로 했습니다.ㅠ,ㅠ)

 

     

    <TEST_IN_AND_EXISTS >              

 

 

    <TEST_IN_AND_EXISTS2>

 

우선 두 테이블에 위와 같이 데이터를 넣어놨다.

저같은경우에는 IN만 알고 있었는데, EXISTS라는 것을 알게되 비교 포스팅을 하게 되었습니다.

처음에는.. EXISTS가 잘 이해 안됬었는데.. 현재도 완전 디테일하게는 이해를 못했지만.. 이렇게 생각하자라고 결론을 냈습니다.

먼저 EXISTS 쿼리 부터 보면,

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE EXISTS (SELECT B.A_COLUMN FROM TEST_IN_AND_EXISTS2 B WHERE B.A_COLUMN = A.B_COLUMN);

 

제가 이해가 잘 안된부분은 서브쿼리였는데..

(사실.. 저 서브쿼리가 멀 나타내주는지를 정확히는 이해를 못한 상태입니다..)

단순하게 생각하면 두테이블을 비교하는데 조건을 A 테이블의 B_COLUMN과 B 테이블의 A_COLUMN을 기준이라고 보면 된다..

(TEST_IN_AND_EXISTS의 Alias를 A 2를 B로 했기에 A 테이블과 B 테이블로 부르겠습니다..)

좀 더 쉽게 말하면 B 테이블의 A_COLUMN의 값이 A 테이블의 B_COLUMN에 존재하는 데이터를 불러와줘 라고 보면 된다..

말로만 하지말고 결과를 보면,

 

 

위와 같은 결과를 볼 수 있는데,

예시를 다시 말로 풀어보면, B테이블의 A_COLUMN의 값은 1,2,3,4,5,6,7 이 있다. 이 값이 존재하는 A테이블의 B_COLUMN의 값중에 존재하는 값들만 보여줘라는 쿼리구문이다. 그래서 A테이블의 B_COLUMN이 1,2,3인 것은 보여주고 9와 null 값은 포함하지 않기에 보여주지 않는 것이다.

이상태에서 IN 쿼리를 비교해 보면,

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE A.B_COLUMN IN (SELECT B.A_COLUMN FROM TEST_IN_AND_EXISTS2 B); 

 

같은 의미를 지닐수 있도록 IN함수로 쿼리를 표현해봤습니다.

EXISTS와 달리 IN함수 같은경우에는 비교할 컬럼을 앞에 넣어 줍니다.

(그래서 처음에 EXISTS는 머랑 비교 하는거지 라는 것에 고민을 많이 햇었습니다...)

위 쿼리를 말로 해보면 A테이블의 A.B_COLUMN 값 중에 B테이블의 B.A_COLUMN들이 포함한 데이터를 불러와줘 이다..

결과를 보면,

 

 

EXISTS와 별차이가 없는 것을 볼 수 있다.

근데 왜 EXISTS와 IN을 비교해놨어라고 할 수 있지만, NOT이 포함한 함수에서 위에서도 잠깐 언급한 차이를 볼 수 있다.

NOT EXISTS 쿼리로 보면,

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE NOT EXISTS (SELECT B.A_COLUMN FROM TEST_IN_AND_EXISTS2 B WHERE B.A_COLUMN = A.B_COLUMN); 

 

EXISTS쿼리 의미에서 NOT 이 붙음으로써 딱 반대되는 의미이다.

그렇기에 바로 결과를 보면,

 

 

말그대로 딱 정반대의 A테이블의 나머지 3개의 데이터를 가진 결과가 나온다. NULL값을 포함한..

그다음 NOT IN 쿼리를 보면,

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE A.B_COLUMN NOT IN (SELECT B.A_COLUMN FROM TEST_IN_AND_EXISTS2 B);

 

IN쿼리 의미에서 NOT 이 붙음으로써 딱 반대되는 의미이다.

그렇기에 바로 결과를 보면,

 

 

이 건 말그대로 정반대 같지만, NULL 값이 포함되어있지 않는다.!!!

그래서 NOT이 포함한 함수를 쓸대는 이 점을 잘 고려해서 사용해야 한다!!

이 점을 생각하지 못하고 NOT IN을 쓰고 NOT EXISTS를 사용했다가는 큰 혼란이 올 수 있으니, 이번에 꼭 알아가도록 합시다!ㅎ

 

아 추가적으로,

위에서 IN 함수 같은경우에는 서브쿼리가 아닌 단순 값으로도 가능하다 했었는데, 잠깐만 보고 가자.

쿼리로 보면,

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE A.B_COLUMN IN ('1', '2');

 

SELECT A.B_COLUMN, A.A_COLUMN
FROM TEST_IN_AND_EXISTS A
WHERE A.B_COLUMN NOT IN ('1', '2');

 

위와 같이 서브쿼리 대신 단순 값으로 사용 할 수 있고,

결과를 보면,

 

          

              <IN 함수>      

 

                            

          <NOT IN 함수>

 

IN 함수에서는 1,2 값을 포함한 결과값을 볼 수 있고, NOT IN 함수에서는 NULL값을 포함하지 않고 1,2 값을 포함하지 않은 결과 값을 볼 수 있게 된다.

 

저 같은 경우에는 IN, NOT IN 만을 썼었는데,

EXISTS와 NOT EXISTS을 알게 되면서 다른 분들도 같이 알면 좋겠다는 생각이 들어 포스팅을 하게되었습니다.

 

이 글을 보시는 분들 중에 두가지 중에 한가지만 알거나 하나도 모르거나 먼가 빠트린 점이 있으셨던 분들에게 도움이 되셨기를 바랍니다!ㅎ

 

(아! 그리고 혹시나 제가 잘못 이해 하고 있는 점이 있으면.. 조언 부탁드리겠습니다!)

 

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

드디어... 기다리고 고대하던!! 그것이... 뜨고야 말았다!!!

그것은 바로... FM 출시날짜가 FM 트위터에 떴다!!!!!!!!!!!!

(찾아보니, 스포츠인터렉티브 공홈에도 떠있더라...)

11월 10일!!! 출시 예정!!! (아마 영국시간으로 일거다..)

굿굿굿!!

 

 

그리고, 10월 9일 이전에 사전예약자 중에 FM17 보유자는 FM18 25프로 할인해준다고 한다!!!

전에 2017 살때는 싸게 사려고 엄청 힘들게 했던것 같은데,

이번에는 17이 있으니.. 스팀에서 25프로 할인받고 예약구매 하면 될것같다!! (하하하...)

 

 

추가적으로... 출시일자가 뜬 기념으로 이벤트 하는건지 스팀에서 2일동안 80프로라는 어마어마한 할인 이벤트를 진행중이다..

이벤트가 끝나기전에 이 글을 보시고, 아직 구매 안하셨다면 사시면 엄청 이득이실듯 하다...

하지만.. 대부분.. 이 할인은 끝나고 보시지 않을가 싶다..ㅠ,ㅠ

 

점점 예전보다 게임량은 줄지만.. 그래도 항상 신작은 설레는 것 같다..ㅎ

 

 

 

 

 

나중에 스팀을 다시 확인하니.. 한국 발매일자 11월 11일로 나와있고!!

2017보유한 사람을 대상으로 10월9일까지 25프로 할인된 가격 40,500원에 구입이 예약구매가 가능한 것을 확인 할 수 있다!!

장바구니에 추가를 눌러봤는데, 결재가 되는 것 같다.. 결재는.. 지금은 참고.. 좀만 있다가 해보도록 하겠습니다...ㅎ

 

FM을 처음했을때.. FM 2005를 CD를 중고로 사서.. 했었는데..

시디케이스에 적혀있었다. 중독의 다른 이름이라고 써있었었는데.. 잊혀지지가 않는다.ㅋ,ㅋ

생각난김에..

 

시디 찾아서.. 사진을 찍어봤는데..ㅋ,ㅋ

추억 돋네요..ㅎ

 

 

 

 

 

출처 : https://twitter.com/FootballManager (FM 트위터)
        http://store.steampowered.com/ (스팀 스토어)

 

+ Recent posts