SQLD/SQL 기본과 활용

SELECT 문, 산술연산자, 합성연산자

DevPing9_ 2020. 8. 19. 00:40

# SELECT [ALL/DISTINCT] 칼럼명, 칼럼명, ...

# [ ] 안의 표현식은 Option이며 Default 값은 ALL 이다.

# FROM 절에서 ALIAS를 사용한다면, SELECT 절에는 반드시 ALIAS명을 사용해야 한다.

# ALL 이 DEFAULT 옵션
# DISTINCT 는 중복제외 (Pandas 의 unique)

SQL> SELECT [ALL/DISTINCT] col1, col2, col3
    FROM tab1;
    
# 예시 
SQL> SELECT DISTINCT PLAYER_ID, POSITION_
    FROM PLAYER;

# 실행결과
PLAYER_ID       POSITION_
---------      -----------
10102          DF
13244          CB
16123	       GK
30242          FW
43321          MF
...
5개의 행이 선택되었습니다.

 

# SELECT * FROM 테이블명

 - 테이블 내 모든 데이터 출력

 - 문자 및 날짜데이터는 좌측정렬 된 상태로 출력

 - 숫자 데이터는 우측정렬 된 상태로 출력

 

 

# ALIAS (가명) 부여

 - 컬럼명 뒤에 AS 키워드 사용

 - 부여할 ALIAS가 공백 또는 특수문자를 포함할 경우 " " 로 묶어 사용

 # Oracle : " "

 # SQL Server : " ", ' ', [ ]

SQL> SELECT DISTINCT PLAYER_NAME AS 선수명, POSITION_ AS "포 지 션"
     FROM PLAYER;
     
# 출력결과
선수명         포 지 션
---------      -----------
10102          DF
13244          CB
16123	       GK
30242          FW
43321          MF
...
5개의 행이 선택되었습니다.

 

 

# 산술 연산자

 - (), *, /, +, - 의 우선 순위

 

SQL> SELECT PLAYER_NAME AS 선수명, HEIGHT - WEIGHT AS "키-몸무게"
     FROM PLAYER;
     
# 출력결과
선수명         키 - 몸무게
---------      -----------
1               107
2               91
3               102
4               105
5               91
...
6113개의 행이 선택되었습니다.

 

# 합성 연산자

 - 문자열 연결

 # Oracle : CONCAT(str1,str2) 함수  ,  || 연산자

 # SQL Server : CONCAT(str1,str2) 함수  , + 연산자

# Oracle

SQL> SELECT PLAYER_NAME || '번 선수의 키는 ' || HEIGHT || " 입니다." AS 신체정보
     FROM PLAYER;
     
# 출력결과
신체정보
---------------------------
1번 선수의 키는 182 입니다.
2번 선수의 키는 192 입니다.
3번 선수의 키는 176 입니다.
4번 선수의 키는 175 입니다.
5번 선수의 키는 172 입니다.
...
6113개의 행이 선택되었습니다.

추가)

# Oracle은 SELECT 절과 FROM 절 모두 SELECT문장의 필수 절로 지정함

# 테이블이 필요없는 SQL 문장의 경우에도 DUAL이라는 테이블을 필수적으로 지정해야 함

# DUAL 테이블은 DUMMY 테이블이며 모든사용자가 액세스 가능한 USER SYS가 소유한 테이블이다.

 

# Built-in Function(내장함수)

SQL> SELECT LENGTH ('HeeSun You') AS LEN
	FROM DUAL;
    
#실행결과
LEN
---
 10
 1 개의 행이 선택되었습니다.
 
 
 SQL> SELECT TRIM('a' FROM 'aHeeSun Youa') AS TRIMED
 	FROM DUAL;
    
 #실행결과
   TRIMED
 ----------
 HeeSun You
 1 개의 행이 선택 되었습니다.
 
 
 SQL> SELECT * FROM DUAL;
 
 #실행결과
 DUMMY
 -----
     X
 1개의 행이 선택되었습니다.

 

# SQL Server는 SELECT절만으로 SQL 문장이 수행 가능하므로 dummy 테이블이 필요없음

728x90