SMALL
SQL에서는 서로 다른 릴레이션에서 동일한 이름을 갖는 애트리뷰트가 사용될 수도 있습니다.
예를 들어서 EMPLOYEE에서도 (사원)이름, (사원)번호를 쓰고
DEPARTMENT에서도 (부서)이름, (부서)번호를 쓰는 경우 이름, 번호라는 명칭이 동일하게 사용될 수 있습니다.
이 때,
SQL에서 "릴레이션_이름.애트리뷰트_이름" 형태를 사용해서 모호함을 방지합니다.
SELECT EMPLOYEE.NAME, ADDRESS
FROM EMPLOYEE, DEPARTMENT
WHERE DEPARTMENT.NAME = "Research" AND DEPARTMENT.NUMBER = EMPLOYEE.NUMBER;
또는 축약형으로도 작성 가능합니다.
SELECT EMPLOYEE.NAME, ADDRESS
FROM EMPLOYEE E, DEPARTMENT D
WHERE D.NAME = "Research" AND D.NUMBER = E.NUMBER;
[Q. 1] 종업원에 대해, 종업원의 성과 이름, 그리고 직속 감독자의 성과 이름은?
SELECT E.FNAME, E.LNAME, S.FNAME, S.LNAME
FROM EMPLOYEE E, EMPLOYEE S
WHERE E.SUPERSSN = S.SSN;
*하나의 테이블 안에서 조인이 이루어졌기 때문에 Self-Join이 발생함
LIST
'SQL' 카테고리의 다른 글
[Colab/MySQL] Colab과 Mysql 연결하기 (1) | 2021.07.04 |
---|---|
[Python/MSSQL] Python과 MSSQL 연동하기 (pymssql) (0) | 2021.05.20 |
[Python/MySQL] Python과 MySQL 연동하기 (pymysql) (0) | 2021.05.20 |
[질의구조] 삽입, 삭제, 갱신 (0) | 2020.07.20 |
[질의구조] SELECT-FROM-WHERE 와 Selection, Join (0) | 2020.07.17 |