오늘보다 더 나은 내일의 나에게_

Oracle 21/12/23 본문

Oracle

Oracle 21/12/23

chan_96 2022. 1. 12. 21:36
728x90

DB

DESC TABLE명 - 특정 테이블에 어떤 칼럼이 있는지 구조가 무엇인지 조회

 

DEPARTMENTS 테이블 구조 조회

 

 

테이블 조회

SELECTION - 모든 컬럼을 볼 때
PROJECTION - 특정 컬럼을 볼 때
*JOIN - 여러 개의 테이블에서 데이터를 동시에 검색할 때

 

SELECT (컬럼의 이름을 명시) => LIST절 __ 명시된 컬럼의 데이터를 결과로 출력, 출력과 관련된 절
FROM     (테이블 이름을 명시)

SELECT 조회 후 나오는 최상단은 컬럼명, 열 머리글이 나온다
테이블에서 데이터는 행단 위로 관리!
SELECTLIST에 명시가 된 컬럼의 순서대로 출력!

 

 

 

SELECT COLUMN명 FROM TABLE명

모든 컬럼을 조회할 때는 * 을 사용하고 보고 싶은 컬럼명을 조회할 때는 보고 싶은 컬럼명만 작성하면 된다.

SELECT * FROM DEPARTMENTS;(모든 컬럼 조회)

 

 

기존 DEPARTMENT_NAME 컬럼 길이가 매우 길어서 가독성이 좋지 않았으나 

COLUMN 컬럼명 FORMAT ___ 명령어를 통해 컬럼 길이를 조정할 수 있다. (SQLPLUS 편집 명령어)

컬럼 길이를 취소하는 명령어는 COLUMN 컬럼명 CLEAR이다

DEPARTMENT_NAME 컬럼 길이 수정 후

 


SQL 문 작성

-SQL문은 대소문자를 구분하지 않지만 구분하는 게 좋다.
-SQL 문은 하나 이상의 줄에 입력할 수 있다.
-키워드는 약어로 쓰거나 여러 줄에 나눠 쓸 수 없다.
-절은 일반적으로 서로 다른 줄에 쓴다.
-들여 쓰기를 사용하면 SQL문을 좀 더 읽기 쉽게 작성 가능하다.

출력되는 컬럼은 무조건 대문자로 출력된다.

 

EX)

1. 우리 회사에 다니는 사원의 이름과 그 사원이 받는 월급여와 근무하는 부서를 출력

 

 

 

EX)

2. 우리 회사에 다니는 사원의 이름과 그 사원이 받는 연봉을 출력

 

 

 

산술 연산

-숫자 데이터 가능 
-문자와 날짜 데이터 불가능
-하지만 날짜 데이터의 일수 +,- 연산이 가능!

(COL + 상수, COL + COL)

산술연산자 사용 예제

 

 

EX) DATE 날짜 연산

DATE 날짜연산시 DAY는 연산 가능

 

 

EX) NULL연산

컬럼 연산시 NULL 값이 있으면 출력X

 


NVL(NULL VALUE LANGUAGE) 함수
사용법 -> NVL(COL, 대체 값)
- NULL값 대체 연산 가능함

 

 

 

열 별칭(ALIAS)
-열 머리글의 이름을 변경
-계산식에 대한 열 머리글을 지정할 때 유용
-일반적으로 대문자로 출력!
-열 이름 바로 뒤에 사용, 열 이름과 별칭 사이에 선택적으로 AS키워드 사용
-공백 또는 특수 문자가 있거나 대소문자를 구분할 경우 큰 따옴표 사용
-1개의 별칭만 사용 가능!!
-쌍따옴표 사용 시 AS키워드는 사용 안 하는 게 좋다!

AS, 공백 -> 단일 문장, 대문자

" " -> 복수 문장 쓰인 형식 그대로(대소문자 구분)

=> AS를 사용하는 게 좋다! (속도가 빠르다, 가독성이 좋다.)

 

 

컬럼 AS 사용

 

AS사용과 AS생략 사용

 

AS사용시 쌍따옴표 사용

 

 

연결 연산자(||)
-SQLPLUS를 사용해서 보고서를 만들 때 사용(현업에서는 거의 사용되지 않는다고 한다)

리터럴 문자열
-SQL문에 포함되어있지 않은 문자, 숫자 또는 날짜(즉 명시되어있지 않은 값)
-문자, 날짜 리터럴 값은 작은따옴표로 무조건 사용!

 

 

중복 행 제거 (DISTINCT)
사용방법 => SELECT DISTINCT 컬럼명 FROM 테이블명
-전체 문장에서 한 번만 사용!
-뒤에 나열된 모든 컬럼의 중복을 제거한다!

-되도록이면 사용하지 않는 게 좋다.

중복행 제거

 


 

EX) 회사에 근무하는 사원의 이름과 연봉을 구하시오.
     단 이름은 NAME으로 연봉은 AnnSal로 출력하시오.

AS "AnnSal" 에서 AS는 생략하는게 좋다!

 

WHERE

(조건식 컬럼 연산자 값)

-행을 제한하는 조건절

-반드시 조건식을 명시(컬럼 연산자 값)

-문자/날짜  값 사용 시=> ' ' 작은따옴표 사용

-값을 사용할 때 반드시 table에 저장된 형식을 그대로 사용(대소문자 구분)

 

****WHERE절에서 AS를 사용할 수 없다(실행 순서가 FROM -> WHERE -> SELECT이기 때문에)

 

WHERE절에서 작은따옴표 사용

 

단일 비교 연산자

연산자 의미
= 같음
> 보다큼
>= 크거나 같음
< 보다 작음
<= 작거나 같음
<>, != (권장되는사용법) 같지않음

 

 

실행 우선순위

SELECT  -----------3
FROM -------------1
WHERE -----------2

 

 

EX) 90번 부서에 근무하는 사원의 이름과 급여를 출력하시오

WHERE 사용

 

EX) 연봉이 150000 이상인 사원의 이름과 연봉을 구하시오

WHERE절 사용

728x90

'Oracle' 카테고리의 다른 글

Oracle 12/12/29  (0) 2022.01.12
Oracle 21/12/28  (0) 2022.01.12
Oracle 21/12/27  (0) 2022.01.12
Oracle 21/12/24  (0) 2022.01.12
Oracle 21/12/22  (0) 2022.01.12
Comments