[SQL]-(066) 여러 테이블의 데이터를 조인해서 출력하기9
[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