연봉을 알고 싶은데 연산에 대한 책임을 클라이언트에서 하는 것이 아니라, 서버로 넘길 수 있다.
컬럼의 헤딩을 보면 조잡한 것을 볼 수 있다
1. as 를 통한 방법
2. as " " 을 통한 방법
3. 공백 문자를 통해
COLUMN ALIAS 를 만들 수 있다. -> 코드의 명료성을 위해 이것을 사용함
|| 합성
1번의 경우 하나의 칼럼에 이름과 직급이 모두 뭉쳐서 출력되는 것을 볼 수 있다.
2번의 경우
3번의 경우 to_char은 문자형으로 변환하는 stl 함수, 서로 다른 타입을 만나게 되면 Data type conversion이 발생!
숫자와 문자가 충돌하면 || 연산자일 경우 숫자가 문자로 변환된다.
implicit data conversion을 DBMS 서버가 자동으로 한다. 여기서 implicit의 의미는 자동으로 라는 의미
to_char은 명시적 (explicit) data conversion 인 경우이다. 수동으로 바꾸어 주는 경우이다.
*** conversion의 경우
implicit 방식 자동
explicit 방식 수동
명시적 방식이 좋음! 버전이 바뀌거나 이럴 경우, 암시적 방법일 경우 동작하지 않을 수도 있으므로, conversion도 반드시 명시적으로 해야함.
dual 의 용도는 ? 무언가를 요청하고 싶은데, 테이블 데이터를 조회하는 것이 아님....
sysdate나 , 로 구분 등의 계산을 수행하고 싶을 때 dummy data를 넣어 다음과 같은 값을 조회할 수 있음
DBMS에 일을 시키고 싶으면 반드시 SQL 형태로 일을 시켜야 함.
desc emp 하면 테이블의 구조를 조회할 때 다음과 같은 명령어를 사용한다.
select * from tab -> 내가 쓸 수 있는 테이블을 조회하는 select 구분해서 알아두자.
sysdate는 서버의 날짜와 시간을 리턴하는 함수
세자리 숫자마다 , 로 구분하여 보길 원하는데 (문자로 보길 원함)
DBMS 안에는 숫자로 저장이 되어 있는데, 6번의 경우 숫자를 세자리마다 ,로 구분하여 문자로 바꾸어 출력
NUMBER(7,2) 정수 5자리, 소숫점 이하 두자리 - 실수 데이터
VARCHAR2 는 뭐죠 ? 가변길이 문자열 타입의 약자이다.
고정길이는 CHAR 이렇게 표시함
중요하게 이해를 해야한다.
숫자인 경우 오른쪽에 정렬되어 있고, 문자일 경우 왼쪽으로 정렬이 되어 있음.
*** 우리가 다룰 데이터는 문자, 숫자, 날짜로 제한됨
숫자를 문자로 to_char, 문자를 숫자로 to_number
날짜를 문자로 to_char, 문자를 날짜로 to_date
숫자를 날짜로 없음, 날짜를 숫자로 없음
항상 타입을 변환할 때는 암시적으로 하지말고, 명시적으로 하라!
** 시험문제에 나오는 것 정리
1. SQL의 주요특징 4가지를 쓰고 설명하시오. (1번문제)
2. SQL 명령어 카데고리 를 모두 쓰고 설명하시오. (2번문제) - 13개 인가 14개 정도임
3. CONNECTION, SESSION의 차이
과제
DB VS DBMS VS RDBMS
CONNECTION, SESSION을 그림으로 그려서 정리
SQL 작성지침서에 대한 사례를 하나 들고 정의
'데이터베이스' 카테고리의 다른 글
오라클실습 (190502) (0) | 2019.05.02 |
---|---|
DB, DBMS, RDBMS 에 대한 정의 (0) | 2019.05.01 |
Connection이란 (0) | 2019.05.01 |
[ORACLE 11일차] Subquery (2) (0) | 2019.01.17 |
[ORACLE 10일차]Subquery (1) (0) | 2019.01.16 |