SQL(8)
-
Day 42 - hr 계정 초기화
오늘은 시험을 본다고 하십니다 ㅜㅜ 그래서 hr 계정을 초기화 하는 걸 알아 보겠습니다 hr 계정 초기화 먼저 SQL Plus 를 켜줍니다. 사용자명 입력 : sys as sysdba 비밀번호 입력 : ( 자신의 비밀번호 ) SQL> alter session set "_ORACLE_SCRIPT" = true; SQL> alter session set container=XEPDB1; SQL> @?/demo/schema/human_resources/hr_main.sql 파라미터1 = hr 파라미터2 = users 파라미터3 = temp 파라미터4 = C:\app\사용자\product\18.0.0\dbhome\XE\demo\schema\log/ 를 치시면 됩니다. 파라미터4는 자신의 오라클이 다운로드 된 경로..
2021.04.14 -
Day33 - 테이블 생성, INNER JOIN
이번에는 테이블을 생성하는 방법과 INNER JOIN 에 대해서 알아 봅시다 여태까지는 이미 만들어져 있는 테이블을 사용했었는데, JOIN을 알아보기 위해서 테이블을 생성해 봅시다. 테이블 생성 ※oracle이 비싼 이유가 나옵니다 ! 사용하고 있는 데이터베이스를 열고, 테이블 폴더에 우클릭을 한 후 새 테이블을 눌러 줍시다. 테이블의 이름은 쓰고 싶은대로 작성 해주세요. 저는 user1 이라고 하겠습니다. 이제 속성(column)을 만들어 봅시다 초록색+를 3번 눌러주세요 이렇게 만든 속성들의 이름, 데이터 유형, 크기를 설정해 줍시다. 그리고, PK(기본키)를 1개만 클릭해 주세요 그 다음, DDL을 눌러보시면 ....? 이렇게, CREATE TABLE 구문이 있죠? 원래는 이렇게 마우스로 테이블을 ..
2021.04.01 -
Day33 - Quiz를 풀어 봅시다.
문제 1. 현재일자를 기준으로 EMPLOYEE테이블의 입사일자(hire_date)를 참조해서 근속년수가 10년 이상인 사원을 다음과 같은 형태의 결과를 출력하도록 쿼리를 작성해 보세요. 조건 1) 근속년수가 높은 사원 순서대로 결과가 나오도록 합니다 문제 2. EMPLOYEE 테이블의 manager_id컬럼을 확인하여 first_name, manager_id, 직급을 출력합니다. 100이라면 ‘사원’, 120이라면 ‘주임’ 121이라면 ‘대리’ 122라면 ‘과장’ 나머지는 ‘임원’ 으로 출력합니다. 조건 1) department_id_id가 50인 사람들을 대상으로만 조회합니다 문제 3. 사원 테이블에서 JOB_ID별 사원 수를 구하세요. 사원 테이블에서 JOB_ID별 월급의 평균을 구하세요. 월급의 평..
2021.04.01 -
Day33 - 그룹함수
이번에는 그룹함수에 대해서 알아 봅시다. 그룹함수 그룹 함수는 속성(column)별로 최대값(MAX), 최소값(MIN), 개수(COUNT) 등을 알고 싶을 때 사용하는 겁니다. SUM (합계) , AVG(평균), MIN(최소값), MAX(최대값), COUNT(개수) ※ 평균은 소수자리가 많이 나오기 때문에, ROUND 함수를 같이 사용했다. - COUNT 는 2가지 형태가 있습니다. (*) -> null 포함, (속성) -> null 비포함 - GROUP BY 절 GROUP BY는 속성을 그룹으로 묶습니다. 그룹함수를 사용하게 되면, 일반 속성(column)은 조회할 수가 없습니다. 일반 속성도 조회하고 싶다면, GROUP BY 로 묶어주어야 합니다. ※ 위는 job_id 별 급여평균 , 아래는 부서별 ..
2021.04.01 -
Day32 - 값 변환 함수
이번에는 값을 변환할 수 있는 함수에 대해서 알아 봅시다. 값을 변환 할 수 있는 함수에는 대표적으로 NVL , NVL2 , DECODE , CASE WHEN THEN END 가 있습니다. NVL(컬럼, 값) -> 컬럼의 값이 null 이라면 값 으로 반환 NVL2(컬럼, 값1, 값2) -> 컬럼의 값이 null 아니라면 값1 , null 이라면 값2 반환 DECODE(컬럼, 값, 결과, 값, 결과.. , default) -> 컬럼을 기준으로 값을 비교해서 결과 반환 컬럼이 모든 값과 일치하지 않는경우 default 반환 CASE 컬럼 WHEN 값 THEN 결과 ELSE 값 END -> 컬럼이 값과 같다면 결과, 끝에 END ※DECODE 와 비슷하다고 볼 수 있습니다. 이렇게 값 변환 함수들에 대해서 ..
2021.04.01 -
Day31 - Quiz를 풀어 봅시다
SELECT * FROM employees; -> 데이터 확인을 위해서 1. 모든 사원의 사원번호, 이름, 입사일, 급여를 출력하세요. SELECT employee_id AS 사원번호, first_name || ' ' || last_name AS 이름, hire_date AS 입사일, salary AS 급여 FROM employees; 2. 모든 사원의 이름과 성을 붙여 출력하세요. 열 별칭은 name으로 하세요. SELECT first_name || ' ' || last_name AS name FROM employees; 3. 50번 부서 사원의 모든 정보를 출력하세요. SELECT * FROM employees WHERE department_id = 50; 4. 50번 부서 사원의 이름, 부서번호, ..
2021.03.31