| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 어노테이션
- springframework
- 프레임워크
- 서블릿기초 #servlet #java #webprogramming
- Spring
- mybatis
- JavaScript #자바스크립트 #복습 #배열 #Array
- 데이터매핑
- Java #JDBC #Mybatis #동적SQL
- 페이징처리예제
- fremework
- 예제
- Java #자바 #인터페이스 #implements #다형성 #interface #복습 #정리 #나만의공부
- 데이터베이스 #DataBase #Oracle #DB #DataBase개요
- Java #자바 #초보개발자 #다형성 #동적바인딩 #instanceof #학습 #요약정리 #복습
- 복습
- 스프링
- 동적sql
- WEB
- JavaScript #인라인 #인터널 #익스터널 #데이터입출력
- mybatis자료형 #참고자료
- 데이터조회예제
- JavaScript #예제 #복습 #Web #웹 #개발자가되고파ㅜㅜ
- Java
- 정리
- 특징및기본구조
- JavaScript #선언적함수 #익명함수 #화살표함수 #함수선언방법 #복습
- JavaScript #자바스크립트 #선택자 #HTML태그접근 #JS
- List데이터조회
- Java #Web #공부 #복습 #Servlet #서블릿 #포워드 #sendRedirect #dispatcher
- Today
- Total
개발군싹
[ORACLE DATABASE] SELECT문(2) - 별칭(AS), 중복제거(DISTINCT), BETWEEN (1) AND (2) 본문
[ORACLE DATABASE] SELECT문(2) - 별칭(AS), 중복제거(DISTINCT), BETWEEN (1) AND (2)
개발자군싹 2023. 10. 13. 00:48
SELECT문 컬럼 별칭(AS)
SELECT문에 컬럼을 작성하여 데이터를 출력 시 SELECT 작성문에서 컬럼 값에 '별칭'을 설정하여 원하는 컬럼명을 출력할 수 있다. 이는 컬럼에서 연산을 해야할 경우나 출력하고자 하는 컬럼의 의미를 부여하고자 할 때 사용할 수 있다.
SELECT EMP_NAME AS 사원명, SALARY 월급
FROM EMPLOYEE
WHERE SALARY >= 3500000;

-- 별칭을 부여할때 띄어쓰기, 특수기호가 가능할까? -> ""로 묶어서 표현해주면 가능하다.
SELECT EMP_NAME AS "사 원 명"
FROM EMPLOYEE;
➡️ AS를 이용하여 별칭을 사용 할 때 띄어쓰기 또는 특수기호를 출력하고자 할 때 " " 를 이용하여 출력할 수 있다.
🔥부서(DEPT_CODE)가 'D5'인 직원들의 급여와 연봉을 출력하라.
SELECT EMP_NAME, DEPT_CODE, SALARY, TO_CHAR((SALARY*12),'L999,999,999') AS YEAR_SAL,
TO_CHAR((SALARY+(SALARY*NVL(BONUS,0)))*12,'L999,999,999') AS YEAR_BONUS_SAL FROM EMPLOYEE
WHERE DEPT_CODE = 'D5';

❗TO_CHAR('문자열','L999,999,999') 를 이용하면 위 결과와 같이 원화 표시를 하여 출력할 수 있다.
DISTINCT
DISTINCT는 출력하는 데이터의 중복을 제거하여 중복 데이터 중 하나의 데이터만 출력하는 예약어
-- 중복 ROW를 제거해서 출력하는 예약어 -> DISTINCT
-- SELECT DISTINCT 컬럼명 FROM 테이블명
SELECT DEPT_CODE
FROM EMPLOYEE;
--DISTINCT 예약어는 컬럼의 맨 앞에 작성해야한다.
SELECT DISTINCT DEPT_CODE
FROM EMPLOYEE
ORDER BY DEPT_CODE;
❗ORDER BY절은 컬럼의 값에 따라 정렬해준다. 기본 정렬은 오름차순(ASC)이며, 컬럼명 뒤 DESC; 를 작성하면 내림차순 정렬을 해준다. ➡️DEPT_CODE를 오름차순으로 정렬

➡️ EMPLOYEE 테이블은 총 23개의 ROW를 출력하는 것을 앞서 볼 수 있었다. 각 ROW의 직원들의 데이터에 DEPT_CODE가 있기에 'DISTINCT' 예약어를 사용하지 않으면 23개의 DEPT_CODE를 출력한다. 하지만 DISTINCT 예약어 사용시 중복되는 DEPT_CODE들을 모두 출력하지 않고 공통 데이터들을 모아 출력한다.
AND,OR || BETWEEN AND
-- AND, OR 연산자
SELECT EMP_NAME||'님의 이메일은 '||EMAIL AS MSG
FROM EMPLOYEE
WHERE SALARY>=2500000 AND SALARY<=4000000;
-- BETWEEN AND
SELECT EMP_NAME||'님의 이메일은 '||EMAIL AS MSG
FROM EMPLOYEE
WHERE SALARY BETWEEN 2500000 AND 4000000;
➡️ AND,OR 연산을 이용하여 조건문의 TRUE, FALSE를 결정할 수 있다.
첫번째 구문에서 급여(SALARY)가 200만원이상 400만원 이하의 직원의 이름과 이메일을 출력하도록 WHERE절을 작성하였다. 이렇게 두 범위의 조건을 만족해야할 경우 AND 연산을 이용하여 조건문을 작성할 수 있다.
( OR연산은 두 조건중 하나라도 만족하면 TRUE값을 반환하여 결과를 출력할 수 있는 조건문을 작성할 수 있다.)
➡️ BETWEEN AND는 AND 연산과 같이 범위를 조건문에 표현할 수 있다. BETWEEN 범위1 AND 범위2; 작성 시 해당 범위는 범위1 이상 범위2 이하를 의미하여 위와 같이 작성하여 AND 연산으로 표현하던 식을 작성할 수 있다.
❓ '||' 연산을 이용하여 문자열을 합쳐 출력할 수 있다. JAVA에서는 String+value를 입력 시 문자열로 변환했듯이 ORACLE DB에서는 '||'를 이용하여 문자열을 결합 할 수 있다.
'DB' 카테고리의 다른 글
| [ORACLE DATABASE] 날짜 처리 함수 (0) | 2023.10.15 |
|---|---|
| [ORACLE DATABASE]함수(Function) 이용하기(2) (0) | 2023.10.15 |
| [ORACLE DATABASE]함수(Function) 이용하기(1) (0) | 2023.10.15 |
| [ORACLE DATABASE] SELECT문(1) - 작성문, NVL함수(NULL값 처리) (0) | 2023.10.13 |
| [ORACLE DATABASE] Oracle Database 개요 (0) | 2023.10.11 |