오늘보다 더 나은 내일의 나에게_
Oracle 21/12/23 본문
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절 사용
'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 |