티스토리 뷰

DBMS Oracle 초기설정

DBMS 종류는 다양하다
Oracle, MSSQL, MySQL, MariaDB 등


작업 환경

  • Oracle 11xe
  • Query Box


STEP 1

슈퍼유저로 시스템에 접근한 후 HR유저의 암호와 락을 풀어서 일반 유전인 HR로 재접속하여 작업


ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK 

USER 이름 ~ => 유저 이름

IDENTIFIED BY ~ => pswd


STEP 2

기초 문법 사용과 실행버튼 조작
SELECT * FROM HR.EMPLOYEES;
SELECT first_name, phone_number FROM EMPLOYEES;


※F5는 전체 라인 실행, Ctrl+M은 셀렉트 라인부터 실행 등


#실행 화면



DBMS Oracle의 기본 명령문, Select절의 기본 구조

SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬할 기준이 되는 컬럼명

※주의사항: SELECT절에서 컬럼명 대신 *를 사용하지 않아야 한다. (매우 중요)

  →모든 컬럼의 데이트를 조회한 이유에 대해


쿼리박스에서 주석 다는 방법

DESC JOBS; --테이블 구조 보기
DESC JOB; /*테이블 구조 보기*/
Java나 C에서처럼 '//'(슬래시 두 개)로는 주석을 달 수 없다.
쿼리박스에서 권장하는 주석 다는 방법은 '--'이다.



DESC(Describe) 명령어


SELECT~FROM

--사원테이블에서 성명과 급여 조회
SELECT first_name, salary FROM EMPLOYEES;


Column Alias(컬럼 별칭) 사용해보기


컬럼명 "별칭", 컬럼명 as "별칭", 컬럼명 별칭


--급여를 10% 상향조정해서 상향 전, 상향 후를 출력
SELECT first_name as "사원 이름", salary as "현재 급여" , (salary*1.1) as "상향된 급여" from EMPLOYEES;


DISTINCT 명령어도 중복값 제거

--사원 테이블에서 부서 ID를 중복 없이 조회 해보자
SELECT DISTINCT department_id as "사원의 ID"
from EMPLOYEES;


OR, AND, NOT 활용

--&&(and) ||(or) !(not)
--성명(first_name)의 급여는 salary입니다.
SELECT first_name || '의 급여는 ' || salary || '입니다.' as "사원/급여 문자열조합"
from EMPLOYEES;


WHERE(조건)절 사용 - 원하는 조건만 골라내기

--급여가 5000원 이상인 사원의 이름과 급여를 조회
SELECT salary 
from EMPLOYEES
where SALARY >= 5000;


AND(&&쓰면 안 돼...) 와 연습문제

--급여가 5000~7000 사이인 직원의 이름과 급여, 연락처를 조회
SELECT first_name, salary, phone_number
FROM EMPLOYEES
WHERE salary >= 5000 AND salary <= 7000;


--부서 아이디(department_id)가 100번이고 
--매니저 아이디(manager_id)가 101인 직원의 성명 조회
SELECT first_name
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 100 AND MANAGER_ID = 101;


--부서 아이디가 50번이거나 급여가 10000원 이상인 직원의 성명, 부서 아이디, 급여 조회
SELECT first_name as "성명", department_id as "부서 ID", salary as "급여"
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 50 OR SALARY >= 10000;



--입사일(hire_data)이 2007-01-01이후인 직원의 이름과 입사일, 급여를 조회
SELECT first_name as "직원 이름", HIRE_DATE as "입사일", salary as "급여"
FROM EMPLOYEES
WHERE HIRE_DATE > '2007-01-01';

댓글