백소
227
2018-03-29 13:09:05 작성 2018-03-29 13:42:48 수정됨
12
1115

쿼리작성할때


혹시 선후배님들은 쿼리작성하실때 테이블 알리아스 어떻게 사용하시나요?

얼마전에 정규직으로 입사햇다가 제가 작성해놓은 쿼리를 사원이 테클을걸더군요.. 당황스럽네요 ㅋㅋ

저는 쿼리같은건 명확한 정답이없고(속도면에서 튜닝이필요한부분 외에) 작성하는 스타일에따라 개개인취

향이라 생각합니다만.. 이왕지사 빠른게 좋긴하겠죠.. 근데 이건 속도문제가 아니라 경력1~2년의 사원이

제 쿼리에 알리아스를 가지고 태클을걸더군요..

사원을 무시하거나 그런 의도는 아닙니다. 제가 모자란부분이 있으면 사원한테도 배울수도있다고 생각하거든요..

암튼 제가 짜놓은 쿼리는 예를 들자면

SELECT A.컬럼

FROM MAIN A 

LEFT OUTER JOIN SUB B ON A.KEY = B.KEY

이런식으로 알리아스를 A B를 사용해서 쿼리를 작성해놨는데 사원이 대뜸 저보고 알리아스를 테이블 약어?

로 써달라더군요 본인이 보기힘들다고... 여기사람들 보통 약어로쓴다고.. 그래서 너무 어처구니가없어서

명명규칙이 정해진게있다면 맞추는게맞는데 그런게없다면 짜기나름이다 내가 맞춰서 쓰면 좋긴하겠지만 

회사사람들이 그렇게쓴다고 그렇게 맞출필요는 없다.. 라고했죠.. 그랬더니 "에이~ A B 이게뭐예요 ㅋㅋ"

이러네요.. 제가 짜놓은 쿼리외에도 기존쿼리에도 A B 이런 알리아스 쓴 쿼리도많거든요.. 봤는지 못봤는지

모르겠지만 암튼 저한테 태클을거는데 이 사원님?에게 무슨말을해줘야할까요? 당혹스럽네요 ㅋㅋㅋ


ps

테이블 약어 라고 써놓은것들이 테이블 명이 짧은거 몇몇개를 제외하고 테이블 명이 길면 쓰는사람마다 다 다르게써놨더군요..  -_-;


0
0
  • 답변 12

  • ㅇㅈㅇ
    3k
    2018-03-29 13:11:05

    테이블명이랑 연관있게 만드는게 가독성이 더 좋긴한데..

    그게 좋으면 그렇게 고치라고 하세요. 

    고치는데 10초도 안걸릴텐데..

    0
  • 지디입니다만
    717
    2018-03-29 13:14:22

    테스트 코드 짤 때는 저도 A, B, C 를 사랑합니다.

    하지만 실제 적용할 때는 다 약어로 넣어줍니다.


    만든 제가 보기 불편해서요.

    0
  • Ires
    1k
    2018-03-29 13:18:52 작성 2018-03-29 13:22:00 수정됨

    배운대로 알려주고 싶어서 그랬나보네요..


    가급적이면 그런 규칙들이 정의된 문서가 있는지 요청해보시고, 없으면 무시하셔도 될거에요..

    저도 공공기관 프로젝트에 들어갔을때 쿼리 작성규칙 정의된 문서가 있으면 그걸 따라가보려고 하긴 하는 편이라...


    근데 그냥 자기네들 다 그렇게 쓰니까 따라하라고 하면, 무시하셔도 할말은 없을거에요

    가독성이 굳이 alias만 잘쓴다고 좋아지는것도 아니고, 쿼리성능에 영향을 주는것도 없구요..


    ---


    밑에 친구들은 테이블 머릿글만 잘라서 약어로 쓰는 친구도 있고(근데 그 약어가 겹쳤을때는 숫자까지 쓰죠...)

    저는 테이블 한번 감쌀때마다 알파벳을 바꾸고, 조인되는 테이블 위치에 따라 숫자를 늘리는 편입니다.

    (그게 저로써는 가독성이 편해서.. t1, t2, t3.... s1, s2, s3 이렇게요..)

    A, B, C 쓰는 사람들도 많습니다.(저희 부장님도 그렇네요..)


    ANSI 조인이랑 ORACLE 조인을 혼용하는 경우는 좀 뭐라해도 되지만... alias는 그냥 괜한 오지랇인거 같아요

    0
  • 퓨리오사
    2k
    2018-03-29 13:19:18

    회사 내 규칙이 있다면 따라가는게 맞는거 같습니다.

    저도 A,B,C로 하고  실무에서도 A,B,C로 쓴적도 많지만 그냥 회사나 프로젝트가 가면 규칙에 따릅니다.

    SQL 외에도 코드 컨벤션 엄격하게 지키는 것도 있던데  그냥 애기하면 따라가는 편입니다.

    소모적인 논쟁을 하기싫어서요 ㅎㅎ

    0
  • 사건
    542
    2018-03-29 13:20:11

    저도 A, B, C로 자주 짜긴 하는데 엔간하면 약어로 하려고 노력해요. 조금 복잡해지면 약어가 보기편하더라구요. ㅎㅎ

    0
  • 초코쪼꼬
    6k
    2018-03-29 13:23:33

    쿼리가 몇백~몇천줄 되는 쿼리다 그러면 모르겠는데.. 대부분 몇십줄 내외 일텐데 가독성 운운하기엔..


    물론 프로젝트마다 규칙이 있다면 그 규칙을 따라주는게 맞습니다.

    0
  • 백소
    227
    2018-03-29 13:26:06 작성 2018-03-29 13:28:14 수정됨


    전 쿼리를 처음접할때부터 A B C로 배웠고 그렇게 사용해왔기때문에 익숙해서 쓰는거뿐 다른사람이 어떻게짜든

    어떤 약어를사용했다고 왜이렇게하나 라는생각은없습니다. 다만 제가생각하는 개개인취향이란 생각이 틀린건지..

    문득 의문도들고 "A B 이게뭐예요" 하면서 킥킥거리는 사원에게 무슨얘기로 이해시켜줘야할지 모르겠어서요

    그리고 주먹구구식 회사라 서비스만드는 명명규칙조차도 없어서 쿼리 알리아스같은 명명규칙은 전혀없네요..


    0
  • action
    2k
    2018-03-29 13:26:39 작성 2018-03-29 13:28:27 수정됨

    개인적으로는 쿼리는 상황에 맞춰서 둘다 혼용이나 한쪽에 맞춥니다.

    가장 많이 하는건 약어를 많이 쓰기는 하지만,

    쿼리 및 상황에 따라서 줄임등이 더 가독성 좋다고 느낀다면

    a,b 정도의 줄임으로 바꾸기도 합니다.

    쿼리를 어떤 데이터 집합의 한 덩어리로 생각해 봤을때

    약어로 했을때가 더 빨리 인지되냐, a,b 등이 더 빠르게 눈에 들어오냐 등으로요.

    테이블 자체의 의미보다는 그 데이터 덩어리의 의미 약어나 의미가 애매할경우 등이랄까요.

    확실히 단순쿼리를 넘어서는 경우에는 약어를 쓰는경우가 생기더군요.


    장난을 치자면, 뭐 맘에 안들면 너가고쳐~ 하고 고친쿼리는 이제 너업무다 라고..

    0
  • 사건
    542
    2018-03-29 13:28:58

    그 사원 태도가 문제군요. 얼마 없는 지식 뽐내려고 백소 님에게 허세(?) 부렸나 봅니다.

    그게 뭐 그리 중요한 일이라고 ^^;

    2
  • 백소
    227
    2018-03-29 13:31:45

    근데 여긴 특정댓글에 리댓글 달려면 어떻게 해야되죠? ㅎ;;

    0
  • pardon
    371
    2018-03-29 13:31:46

    이미 이야기 하셨네요. 표준 가이드 있으면 그에 따르겠다 라고.

    없으니 주관적 기준에 따라 다르게 할뿐이다 라고.


    저 같으면, " 그래? 좋은 아이디언데 나한테만 말하지 말고 팀내, 회사내 공유해서 fix 하자, 니가 SQL 작성 가이드 함 만들어서 회사 내 공유 해줘, 오케?"


    신입이 어떻게 할까요.. 귀찮아 하면서 말한걸 삼키려나, 그래 함 해보지 하면서 워드 킬까.. 

    2
  • ktsedd
    6k
    2018-03-29 13:51:05

    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ별칭가지고 잘난척

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.