카테고리 없음

DB 복습 1

Captic 2019. 8. 6. 10:24

참고 - 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