Q & A

Re: 오렌지에 대해서가 아니라 쿼리에 의문이 생겨서 질문하고자 합니다.

Date2002.04.08 / Hit : 19414
" 를 사용하면 대소문자를 구별합니다.
말씀하신 대로 "SAL"과 "sal"은 오라클이 다른 이름으로 인식합니다. " 를 빼는 경우는 오라클 내부적으로 대문자로 바꿔서 사용하게 됩니다. 테이블이나 컬럼의 이름은 일반적으로 대문자로 생성하는데, 만약 소문자 테이블 이름이나 소문자 컬럼, 한글 이름등을 사용하고자 한다면 반드시 " 를 사용해야 합니다. "를 사용하여 소문자 이름으로 생성한 테이블은 select * from tab ; 을 실행해 보면 실제로 테이블 이름이 소문자로 보입니다. 물론 drop table 시에도 "를 사용해야 삭제가 가능하며, "를 사용하지 않으면 '테이블 없음' 에러가 표시됩니다. "를 사용하면 심지어는 create table "Warevalley Co. Ltd." ( "Company Name" varchar(10), "Address" varchar(50)) ; 와 같이 중간에 SPACE를 포함한 테이블도 생성할 수 있습니다. 도움이 되었기를 바랍니다.

---------- Original Message ----------
이름 : 표정수 제목 : 오렌지에 대해서가 아니라 쿼리에 의문이 생겨서 질문하고자 합니다. SELECT q.dname, e.ename FROM emp e, (SELECT d.dname, d.deptno, AVG(e.sal) "SAL" FROM emp e, dept d WHERE e.deptno = d.deptno GROUP BY d.dname, d.deptno) q WHERE e.deptno = q.deptno AND e.sal >= q.SAL GROUP BY q.dname, e.ename 위의 쿼리(위 쿼리는 정상적입니다.)에서 볼 때, AVG(e.sal)의 ALIAS를 대문자로 입력하거나 아예 AVG(e.sal) sal 라 하고 q.sal로 해야만 되더라구요! 근데, AVG(e.sal) "sal"라 하고 q.SAL이나 q.sal로 하면 에러가 나더군요.... 왜 이런 현상이 일어나는가요???? >> 명쾌한 답변 바랍니다.
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728