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


[SQL 문법]

철자를 대소문자 변환하여 출력할 수 있다.

SELECT ename, sal, job
  FROM emp
 WHERE job='SALESMAN' AND sal >= 1200

[예시]

# 오라클 연동 및 접속
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, UPPER(ename), LOWER(ename), INITCAP(ename)
  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)

[결과]

     ENAME UPPER(ENAME) LOWER(ENAME) INITCAP(ENAME)
0     KING         KING         king           King
1    BLAKE        BLAKE        blake          Blake
2    CLARK        CLARK        clark          Clark
3    JONES        JONES        jones          Jones
4   MARTIN       MARTIN       martin         Martin
5    ALLEN        ALLEN        allen          Allen
6   TURNER       TURNER       turner         Turner
7    JAMES        JAMES        james          James
8     WARD         WARD         ward           Ward
9     FORD         FORD         ford           Ford
10   SMITH        SMITH        smith          Smith
11   SCOTT        SCOTT        scott          Scott
12   ADAMS        ADAMS        adams          Adams
13  MILLER       MILLER       miller         Miller

[복습] 2023-02-01

대상의 이름이 대문자인지 소문자인지 모르는 경우 변환하여 검색하면서 정확도를 높일 수 있다.
이런 작업은 python으로 하면 되지 않을까?

SELECT ename, sal
  FROM emp
  WHERE LOWER(ename)='scott'

[결과]

    ENAME SAL
0   SCOTT 3000

Leave a comment