[de] Oracle (1/3)
2023. 9. 21. 17:23ㆍdata engineer/database

1. get ready
- 공부 목적: oracle sql 문법을 익히고자 초보자를 위한 sql 200제를 풀었습니다.
- 실행 환경: livesql https://livesql.oracle.com/apex/f?p=590:1000
해당 게시글은 sql을 공부하다면서 정리하고싶은 부분만 요약한 내용입니다.
또한, 추가적인 검색을 통해 설명을 보완했습니다.
2. 목차
입문 > 초급 > 중급 > 활용
1️⃣ 입문
1. 별칭에 " "을 넣는 경우
- 대소문자 구분 출력
- 공백문자 출력
- 특수문자 출력 ($, _, # 만 가능)
2. alias 편리점
- 기존컬럼의 변형을 가하는 경우 새로운 이름 지정할 때 유용
- ORDERBY 절에서 별칭 간결하게 사용
3. 연결 연산자
|| : 값을 연결할 떄 사용
SELECT ename || '의 월급은' || sal || '입니다' as 월급정보
FROM emp;
4. Distinct = Unique
SELECT Distinct job
FROM emp;
-- 동일한 결과
SELECT Unique job
FROM emp;
5. ORDER BY
순서 지정시 select 절에서 추린 컬럼을 순서대로 불러올 수 있다
SELECT ename, deptno, sal
FROM emp
ORDER BY 2 asc, 3 desc;
6. WHERE 조건절 실행 순서
오류 발생
원인: from -> where 조건 -> selct 출력 하는 순서로 기존 컬럼에서 별칭을 인식할 수 없음.
SELECT ename as 이름, sal as 월급
FROM emp
WHERE 월급 >= 3000;
7. 날짜형식 확인 및 변경
- NLS_DATE_FORMAT='YY/MM/DD' : 2000년대
- NLS_DATE_FORMAT='RR/MM/DD' : 1900년대
-- 현재 날짜 형식 확인
SELECT *
FROM NLS_SESSION_PARAMETERS
WHERE PARAMETER = 'NLS_DATE_FORMAT'
-- 변경
ALTER SESSION SET NLS_DATE_FORMAT='YY/MM/DD';
ALTER SESSION SET NLS_DATE_FORMAT='RR/MM/DD';

8. NVL 함수
Null 데이터를 처리하는 함수
-> comm 컬럼은 결측치가 많기에 null값은 0으로 치환해서 계산됨.
-> NVL함수를 사용하지 않으면 결과값도 null
SELECT sal + NVL(comm, 0)
FROM emp
WHERE ename='KING'
9. 비교연산자
- between 1 and 2 : 기간 조건
- LIKE 연산자
- '%a' : a로 시작하는 값
- '%a' : a로 끝나는 값
- '%a%' : a가 들어간 값
- '_a': 두번째 글짜가 a 인 값
- in
SELECT ename, sal, job
FROM emp
WHERE job in ('SALESMAN', 'ANALYST', 'MANAGER');
대소문자 구분 확실히 할 것!
대소문자
- UPPER : 모두 대문자
- LOWER : 모두 소문자
- INITCAP : 첫글자만 대문자
SELECT UPPER(ename), LOWER(ename), INITCAP(ename)
FROM emp;
'data engineer > database' 카테고리의 다른 글
[de]Bigquery:기본정보와 문법 (0) | 2024.03.07 |
---|---|
[de]Bigquery: 구글서치콘솔 데이터 확인 (0) | 2024.03.01 |
[de]Bigquery (0) | 2024.02.29 |
[de] Pymongo (2/2) (0) | 2023.09.21 |
[de] Pymongo (1/2) (0) | 2023.08.31 |