Q&A

  • SQL 에서 AS가 뭐에요
예를 들어 select file as pay from tname

이렇게 되면 as가 뭐를 뜻하는 거에요?

3  COMMENTS
  • Profile
    조덕진 2000.11.29 19:41
    문제 wrote:

    > 예를 들어 select file as pay from tname

    > 이렇게 되면 as가 뭐를 뜻하는 거에요?



    안녕하세요. 조덕진입니다.

    아래에도 답변이 있지만, 조금 추가를 해서 설명을 드리죠.



    가령 급여테이블에서 전 직원의 급여합계를 구할때



    ⓐ select sum(pay) from [급여]

    ⓑ select sum(pay) as total_pay from [급여]



    ⓐ 과 ⓑ의 결과값은 동일하지만, DBGrid에 표현되는 방법엔 차이가 있습니다.



    ⓐ의 경우 그리드의 타이틀에 sum(pay) 또는 column1과 같이 표현이 되지만,



    ⓑ의 경우 그리드의 타이틀에 total_pay로 표현이 됩니다.



    그외에도 여러 컬럼을 묶어서 사용할때 as를 사용하시면 하나의 이름으로 지정을 할

    수 있습니다. 또한 한글로 필드명을 표시할때에도 사용할 수 있습니다.



    알고 계신 내용을 장황(?)하게 설명한 것이 아닌지 모르겠네요.



    그럼... 즐프하세요..

  • Profile
    공성환 2000.11.29 18:50
    file이란 필드를 pay로 쓴다는 예기입니다...

    as는 생략할수도 있고요... select file pay from tname....



    문제 wrote:

    > 예를 들어 select file as pay from tname

    > 이렇게 되면 as가 뭐를 뜻하는 거에요?

  • Profile
    권경미 2000.11.29 19:45
    공성환 wrote:

    > file이란 필드를 pay로 쓴다는 예기입니다...

    > as는 생략할수도 있고요... select file pay from tname....

    >

    > 문제 wrote:

    > > 예를 들어 select file as pay from tname

    > > 이렇게 되면 as가 뭐를 뜻하는 거에요?



    알리아스입니다...



    select a.code, b.name as desc, c.k_code kcode

    from table1 a, table2 b, table3 c

    where ............



    여기서 desc, kcode는 모두 필드에 대한 알리아스 입니다...

    (둘중 어느 표현을 쓰셔도 되요...as를 붙이든 말든...)



    select 되는 필드중 중복되는 필드들이 있을때 구분할때 사영하며...



    필드명이 길때 짧게 줄여서 사용할려고 할때 등에도 사용하죠...



    그리고 From절에두 알리아스를 사용해요...



    가령 예를 들어 table1과 table2를 조인할때 같은 필드명이 존재한다면...



    table1의 code필드와 table2의 code필드는...



    where a.code = b.code 이렇게 사용을 하죠...



    SELECT A.*, B.DEPT_NAME, C.ACCT_NAME,

    DECODE(A.DEB_CRE, 'D','차변',

    'C','대변') DEB,

    D1.SUMMARY_NAME SUB1,

    D2.SUMMARY_NAME SUB2,

    D3.SUMMARY_NAME SUB3,

    D4.SUMMARY_NAME SUB4,

    D5.SUMMARY_NAME SUB5,

    D6.SUMMARY_NAME SUB6

    FROM AM_BILL_ORIGND A, HM_DEPART B, AM_ACCOUNT C,

    AM_SUMMARY D1, AM_SUMMARY D2, AM_SUMMARY D3,

    AM_SUMMARY D4, AM_SUMMARY D5, AM_SUMMARY D6

    WHERE A.BILL_DATE = :BILL_DATE

    AND A.BILL_SEQ = :BILL_SEQ

    AND A.GET_DEPT = B.DEPT_CODE(+)

    AND A.ACCT_CODE = C.ACCT_CODE(+)

    AND A.SUB_CODE1 = D1.SUMMARY_CODE(+)

    AND A.SUB_CODE2 = D2.SUMMARY_CODE(+)

    AND A.SUB_CODE3 = D3.SUMMARY_CODE(+)

    AND A.SUB_CODE4 = D4.SUMMARY_CODE(+)

    AND A.SUB_CODE5 = D5.SUMMARY_CODE(+)

    AND A.SUB_CODE6 = D6.SUMMARY_CODE(+)

    ORDER BY A.DEB_CRE DESC



    이건 그리 잘된 sql은 아니지만...알리아스를 거의 풀로 사용한 sql같아서



    올립니다...보고 참고 하시길...^^