1. 집합연산자
UNION : 여러 SELECT 쿼리를 결과를 모두 보여 줌. 중복 데이터는 한 번만 조회
UNION ALL : 중복된 데이터도 모두 조회됨.
-> 쿼리문의 컬럼 개수와 자료형은 동일해야 한다.
SELECT EMPNO, ENAME, DEPTNO
FROM EMP
WHERE DEPTNO = 10
UNION
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE DEPTNO = 20;
+) 더미 테이블 (쿼리문 연습을 위해 오라클에서 제공하는 테이블) : DUAL
2. 문자 함수
문자의 길이를 조회하는 함수 : LENGTH, LENGTHB
문자의 일부를 추출하는 함수 : SUBSTR
문자열 연결 : CONCAT, ||
문자열 대체 함수 : REPLACE
빈 공간을 특정 문자로 채우는 함수 : LPAD, RPAD
공백을 제거하는 함수 : LTRIM, RTRIM
-- 문자의 길이를 조회하는 함수
SELECT LENGTH('안녕하세요')
, LENGTHB('안녕하세요')
FROM DUAL;
-- 문자의 일부를 추출하는 함수
SELECT 'HELLO WORLD'
, SUBSTR('HELLO WORLD', 1, 3)
, SUBSTR('HELLO WORLD', 2, 4)
, SUBSTR('HELLO WORLD', 1)
FROM DUAL;
-- 문자열 연결
SELECT CONCAT('HELLO', 'WORLD')
,'HELLO'||'WORLD'||'ORACLE'
FROM DUAL;
-- 문자열 대체 함수
SELECT '010-1111-2222'
,REPLACE('010-1111-2222' , '-', ' ')
,REPLACE('010-1111-2222' , '-', '')
FROM DUAL;
-- 빈 공간을 특정 문자로 채우는 함수
SELECT 'ORACLE'
, LPAD('ORACLE', 10, '#')
, RPAD('ORACLE', 10, '!')
FROM DUAL;
-- 공백을 제거하는 함수
SELECT LTRIM(' ORACLE ')
, RTRIM(' ORACLE ')
, TRIM(' ORACLE ')
FROM DUAL;
3. 숫자 함수
반올림 함수 : ROUND
올림, 버림 함수 : CEIL, FLOOR
나머지를 구하는 함수 : MOD
-- 반올림 함수
SELECT 123.456
, ROUND(123.456)
, ROUND(123.456, 1)
, ROUND(123.456, 2)
FROM DUAL;
-- 올림, 버림 함수
SELECT 123.456
, CEIL(123.456)
, FLOOR(123.456)
FROM DUAL;
-- 나머지를 구하는 함수
SELECT MOD(10, 4) FROM DUAL;
4. 형 변환 함수
숫자 <--> 문자 / 문자 <--> 날짜 끼리 변환이 가능하다. (날짜를 비교할 때는 날짜 타입으로 형 변환 후 비교)
-- 2005년 1월 1일 이후로 입사한 사원의 모든 정보 조회
SELECT * FROM EMP
WHERE HIREDATE >= TO_DATE('20050101');
4-1. 숫자 <--> 문자 : TO_CHAR, TO_NUMBER
SELECT 1001
, TO_CHAR(1001)
, TO_NUMBER('1001')
FROM DUAL;
4-2. 문자 <--> 날짜 : TO_CHAR, TO_DATE
-- 날짜를 문자로 변환
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
, TO_CHAR(SYSDATE, 'YYYY')
, TO_CHAR(SYSDATE, 'HH24:MI:SS')
, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')
, TO_CHAR(SYSDATE, 'YYYY/MM/DD')
, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;
-- 문자를 날짜로 변환
SELECT TO_DATE('20230221')
FROM DUAL;'TIL' 카테고리의 다른 글
| 230223 [SQL, HTTP] (단일 행 함수 / 세션&쿠키) (0) | 2023.02.23 |
|---|---|
| 230222 [Mybatis] (Mybatis로 MVC 패턴 구현) (0) | 2023.02.22 |
| 230220 [SQL, Java] (ORDER BY / MVC 패턴) (0) | 2023.02.20 |
| 230217 [SQL] (데이터 삭제 & 수정) (0) | 2023.02.18 |
| 230216 [SQL] (테이블 생성 / 데이터 삽입 & 조회) (0) | 2023.02.16 |