DB 복습 1
참고 - Beginning Oracle SQL
▣ Database(데이터베이스)를 다루는 국제 표준언어를 배우는 것이다
- Oracle DataBase System
DBA(administrator)
- DB 총 책임관리자
- 설계
DB 일반 이용자
- 개발자도 포함
- SQL 문장을 프로그램 내에 사용한다
-> 앞으로 나오는 문장들은 이쪽에서 진행되는 것들이다
▣ 데이터베이스로 할 수 있는 일 (CRUD)
- Create
- Read
- Update
- Delete
Oracle XE(Express Edition) 18c, SQLDevleoper를 다운받는다
그 후 SQL Plus에서 hr 계정을 활성화 시킨후 SQL Developer를 실행한다
▣ Oracle SQL Developer
- RDBMS:(Relational DataBase Management System) : 관계형 DB 시스템
-> 2개 이상의 오브젝트들의 관계를 저장할 수 있다
예) 교실 - 학생
Entity - DB에서 저장된 속성의 집합, 저장의 기본 단위 같은 느낌인가?(table?)
본격적으로 SQL Developer 내에서 hr계정에 접속하여 저장된 데이터를 읽어오는 언어를 사용해 본다
▣ 원하는 자료 불러오기 SELECT - FROM
- hr에 저장된 Employee table에서 이름이 Austin인 사람의 이름과 급여를 출력하시오
- SELECT이후로 FROM이 항상 와야한다(필수)
- 대소문자 구분안하더라
SELECT last_name, salary FROM employees Where last_name = 'Austin';
- 그 다음에는 Where : 행조건- 각 행마다 조건절 걸어서 출력
Group by : 그룹화- 생일이 같은 사람, 같은 부서사람 등으로 그룹 쌉가능
Having
Order By(정렬) : 기본 = 오름차순(ASC) -> ASC 없어도 적용 / DESC를 적으면 내림차순
- SELECT * FROM ~ (Column자리에 *) : 모든 행 출력
▣ Aliases(에일리어스) - 별칭
- SELECT ename, init, msal salary ~ : msal를 salary로 표기하겠다 이말이야
SYSDATE = 오늘 날짜를 출력하는 함수
-> SELECT SYSDATE From 00 // 00에 table 명만 오면 된다
※ 파라미터가 없는 함수는 괄호()를 달지 않는게 국롤
▣ 기타 기능? 함수?
- DISTINCT 중복 처리
-> Select DISTNCT department_id from employees;
- || 결합문자
Selelct 'A' || ' ' || 'B' from dual -> A B
- 날짜연산(현재시간에서 특정한 날짜 빼기)
Select SYSDATE-To_Date('19/08/01') from DUAL -> 1.77347......
- 반올림하기
Select Round(SYSDATE-To_Date('19/08/01'), 1) 남은시간 from DUAL