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


[SQL 문법]

컬럼명을 변경하는 SQL이다.
대소문자를 구분하거나 공백문자를 출력, 특수문자($,_,#)을 출력할 때는 “” 사용해야 한다.

SELECT empno as 사원번호, ename as 사원이름, sal as "Salary"
  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 as 사원번호, ename as 사원이름, sal as "Salary"
  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)

[결과]

    사원번호    사원이름  Salary
0   7839    KING  5000.0
1   7698   BLAKE  2850.0
2   7782   CLARK  2450.0
3   7566   JONES  2975.0
4   7654  MARTIN  1250.0
5   7499   ALLEN  1600.0
6   7844  TURNER  1500.0
7   7900   JAMES   950.0
8   7521    WARD  1250.0
9   7902    FORD  3000.0
10  7369   SMITH   800.0
11  7788   SCOTT  3000.0
12  7876   ADAMS  1100.0
13  7934  MILLER  1300.0

[복습] 2023-02-01

  • 더블 쿼테이션을 하지않으면 모두 대문자로 작성된다. 싱글쿼테이션은 작동조차 하지 않음
  • SELECT절에서 수식을 사용하는 경우 별칭을 사용하면 깔끔하다.
  • ORDER BY절에서 명명된 별칭에 따라 정렬할 수 있어 편하다.
  • 더블쿼테이션을 하지 않는다면 철자만 맞추면 아무 이상 없이 쿼리가 돈다.
SELECT empno as 사원번호, ename as 사원이름, sal*12 as Salary
  FROM emp
  ORDER BY SalARy desc

[결과]

   사원번호 사원이름  SALARY
0   7839    KING   60000
1   2812    JACK   42000
2   7902    FORD   36000
3   7566   JONES   35700
4   7698   BLAKE   34200
5   7782   CLARK   29400
6   7499   ALLEN   19200

Leave a comment