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


SQL 문법

SELECT절에는 출력하고 싶은 열 이름은 ,로 구분한다. FROM절에는 데이터를 저장하고 있는 테이블명을 작성한다.
SQL문은 대소문자 상관없이 수행된다.

SELECT empno, ename, sal
  FROM emp;

예시

# 오라클 연동 및 접속
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 empno, ename, sal
  FROM emp
""")

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

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

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

결과

    EMPNO   ENAME        JOB     MGR   HIREDATE     SAL    COMM  DEPTNO
0    7839    KING  PRESIDENT     NaN 1981-11-17  5000.0     NaN      10
1    7698   BLAKE    MANAGER  7839.0 1981-05-01  2850.0     NaN      30
2    7782   CLARK    MANAGER  7839.0 1981-05-09  2450.0     NaN      10
3    7566   JONES    MANAGER  7839.0 1981-04-01  2975.0     NaN      20
4    7654  MARTIN   SALESMAN  7698.0 1981-09-10  1250.0  1400.0      30
5    7499   ALLEN   SALESMAN  7698.0 1981-02-11  1600.0   300.0      30
6    7844  TURNER   SALESMAN  7698.0 1981-08-21  1500.0     0.0      30
7    7900   JAMES      CLERK  7698.0 1981-12-11   950.0     NaN      30
8    7521    WARD   SALESMAN  7698.0 1981-02-23  1250.0   500.0      30
9    7902    FORD    ANALYST  7566.0 1981-12-11  3000.0     NaN      20
10   7369   SMITH      CLERK  7902.0 1980-12-09   800.0     NaN      20
11   7788   SCOTT    ANALYST  7566.0 1982-12-22  3000.0     NaN      20
12   7876   ADAMS      CLERK  7788.0 1983-01-15  1100.0     NaN      20
13   7934  MILLER      CLERK  7782.0 1982-01-11  1300.0     NaN      10

Leave a comment