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


[SQL 문법]

산술연산자(*, /, +, -)을 이용해 데이터를 검색하거나 처리할 수 있다.
산술연산자에도 우선순위가 존재하고 곱하기가 더하기보다 먼저 실행된다.
NULL과의 연산은 NULL을 출력하기 때문에 NVL함수를 이용해 NULL을 원하는 값으로 출력할 수 있다.
예) SELECT sal + NVL(comm, 0)

SELECT ename, sal, job, hiredate, deptno
  FROM emp
 WHERE ename='SCOTT'

[예시]

# 오라클 연동 및 접속
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 ename, sal*12 as 연봉
  FROM emp
 WHERE sal*12 >= 36000
""")

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

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

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

[결과]

   ENAME     연봉
0   KING  60000
1   FORD  36000
2  SCOTT  36000

[복습] 2023-02-01

NULL값은 산술연산자로 계산할 수 없기 때문에 NVL함수를 사용한다.
NVL(comm, 0)은 comm값이 NULL인 경우 0으로 대체한다.

SELECT sal + NVL(comm, 0)
FROM emp
WHERE ename='KING'

[결과]

      SAL+NVL(COMM,0)
0             5000

Leave a comment