레이블이 테이블별칭인 게시물을 표시합니다. 모든 게시물 표시
레이블이 테이블별칭인 게시물을 표시합니다. 모든 게시물 표시

2020년 7월 19일 일요일

오라클, SQL,테이블 별명(Table Alias)

오라클, SQL,테이블 별명(Table Alias)

http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=619

6.1 테이블 별명(Table Alias)

테이블 명칭이 너무 긴 경우 원래 테이블 명칭 대신 별도의 이름을 부여해서 사용하는데 이를 테이블 별명(Table Alias)이라고 한다. 보통 테이블의 이름이 긴 경우 직관적이고 짧은 이름의 별명(Alias)을 이용하여 Query를 간결히 하는데 많이 이용되고 이 별명을 이용하여 같은 테이블이 조인되는 경우 칼럼 이름의 모호함을 방지 할 수 있다(EMP테이블의 MGR 칼럼이 참조하는 EMPNO 칼럼과의 조인, 사원별 관리자 이름 출력하는 경우). 이전에 배웠던 칼럼별명(Column Alias)과 비슷하게 생각하면 된다.

--주로 많이 사용하는 방식이다.

SQL> select e.ename, e.sal, e.deptno, d.dname

from emp e, dept d

where e.deptno = d.deptno

and e.deptno = 10;

ENAME SAL DEPTNO DNAME

---------- ---------- ---------- --------------

CLARK 2450 10 ACCOUNTING

KING 5000 10 ACCOUNTING

MILLER 1300 10 ACCOUNTING

SQL> select "사원".ename, "사원".sal, "사원".deptno, "부서".dname

from emp "사원", dept "부서"

where "사원".deptno = "부서".deptno

and "사원".deptno = 10;

ENAME SAL DEPTNO DNAME

---------- ---------- ---------- --------------

CLARK 2450 10 ACCOUNTING

KING 5000 10 ACCOUNTING

MILLER 1300 10 ACCOUNTING

--아래의 경우 1라인의 deptno의 경우 EMP와 DEPT 테이블 두 테이블에 공통으로 있는 칼럼이다. ename, sal, dname등은 컬럼 이름 앞에 소속을 밝히지 않아도 어느 테이블에 있는지를 알 수 있지만 deptno와 같은 경우는 어느 테이블의 것인지를 알기가 모호하다.

SQL> select ename, sal, deptno, dname

from emp e, dept d

where e.deptno = d.deptno

and e.deptno = 10;

select ename, sal, deptno, dname

*

1행에 오류:

ORA-00918: 열의 정의가 애매합니다

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...