[Reference] 초보자를 위한 SQL 200제


[SQL 문법]

LEFT OUTER JOIN과 RIGHT OUTER JOIN을 한 번에 수행할 수 있다.

SELECT e.ename as 이름, e.job as 직업, e.sal as 월급, d.loc as 부서위치
  FROM emp e FULL OUTER JOIN dept d
  ON (e.deptno = d.deptno)

[예시]

# 오라클 연동 및 접속
import pandas as pd
import cx_Oracle
dsn=cx_Oracle.makedsn('localhost',1521,'orcl')
db=cx_Oracle.connect('scott','tiger')
cursor=db.cursor()

# SQL 문법
cursor.execute("""
SELECT e.ename as 이름, e.job as 직업, e.sal as 월급, d.loc as 부서위치
  FROM emp e FULL OUTER JOIN dept d
  ON (e.deptno = d.deptno)
"""
)

row=cursor.fetchall()
colname=cursor.description
col=[]

for i in colname:
    col.append(i[0])

# pandas를 사용한 데이터 프레임 형식으로 변환
emp=pd.DataFrame(row,columns=col)
print(emp)

[결과]

        이름         직업      월급      부서위치
0     KING  PRESIDENT  5000.0  NEW YORK
1    BLAKE    MANAGER  2850.0   CHICAGO
2    CLARK    MANAGER  2450.0  NEW YORK
3    JONES    MANAGER  2975.0    DALLAS
4   MARTIN   SALESMAN  1250.0   CHICAGO
5    ALLEN   SALESMAN  1600.0   CHICAGO
6   TURNER   SALESMAN  1500.0   CHICAGO
7    JAMES      CLERK   950.0   CHICAGO
8     WARD   SALESMAN  1250.0   CHICAGO
9     FORD    ANALYST  3000.0    DALLAS
10   SMITH      CLERK   800.0    DALLAS
11   SCOTT    ANALYST  3000.0    DALLAS
12   ADAMS      CLERK  1100.0    DALLAS
13  MILLER      CLERK  1300.0  NEW YORK
14    None       None     NaN    BOSTON

Leave a comment