본문 바로가기

연문숙

(6)
[실습]커피숍 DB 만들기 [프로젝트 구성원 : 조은수, 장지혜] erd->릴레이션 1.엔티티명->릴레이션명 2.식별자->기본키(pk) 3.1(강):N(강) 관계->소거 N쪽에서 1쪽의 PK를 FK로 가져온다. 4.1(강):N(약) 관계->소거 N쪽에서 1쪽의 PK를 PK로 가져온다. 5.N:N 관계->엔티티 양쪽의 PK를 PK로 가져온다. #식별 관계와 비식별 관계의 차이 식별:기본키에 포함/강-약에서 PK로 가져올때!
[5일차]set 연산자 # hr 로그인 grant select on JOB_HISTORY to public; #aa01 로그인 하여 작업 create table JOB_HISTORY as select * from hr.JOB_HISTORY; ## union -쿼리 결과를 위아래로 합치는 것 -두 쿼리문의 스키마가 같아야 한다.(컬럼의 개수, 타입이 같아야 한다.) -첫번째 쿼리문의 컬럼명이 대표 컬럼명이 된다. =중복 불가:한번만!!! =첫번째 컬럼값을 기준으로 오름차순으로 정렬 ## union all -쿼리 결과를 위아래로 합치는 것 -두 쿼리문의 스키마가 같아야 한다.(컬럼의 개수, 타입이 같아야 한다.) -첫번째 쿼리문의 컬럼명이 대표 컬럼명이 된다. =중복 허용!!! =정렬 안됨!!! select last_name, s..
[4일차 과제]sql 조인문제 ## SQL 조인문제 -- 오라클 구문, Ansi 표준 구문 중 하나로 작성해 주세요. EX1. 모든 사원의 이름, 부서 번호, 부서 이름을 표시하는 질의를 작성하시오. SELECT EMPLOYEE_ID,DEPARTMENT_ID,DEPARTMENT_NAME FROM EMP,DEPT ON (WHERE EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID); EX2. 부서 60에 속하는 모든 사원의 이름과 부서이름을 표시하는 질의를 작성하시오. SELECT LAST_NAME,DEPARTMENT_NAME FROM EMP,DEPT ON (WHERE EMP.DEPARTMENT_ID=60&&DEPT.DEPARTMENT_ID=60); EX3. 커미션을 받는 모든 사원의 이름과 부서이름을 표시하는 질의를 ..
[4일차]서브쿼리 ## SQL - 서브쿼리 #서브쿼리 -쿼리 안의 내부 쿼리 -서브쿼리는 괄호로 감싼다. -수행순서:서브쿼리 수행 => 메인쿼리에 전달 -서브쿼리의 결과값이 null 이면 메인쿼리의 결과값도 null 이다. -사용위치 =>select:스칼라 서브쿼리:함수로 구현하여 사용하는 추세 =>where : 중첩 서브쿼리 : 조건식의 우항에 위치 =>from:IN-LINE 뷰 : 서브쿼리의 결과를 테이블 처럼 사용 Chen 보다 많은 급여를 받는 사원의 이름과 급여 SELECT LAST_NAME, SALARY FROM EMP WHERE SALARY>( SELECT SALARY FROM EMP WHERE LAST_NAME='Chen') ORDER BY SALARY DESC; -- 부서가 101번 사원과 같으며, 월급이..
[3일차 과제]급여 최고액, 최저액, 총액, 평균 구하기 EX1. 모든 사원의 급여 최고액, 최저액, 총액 및 평균액을 표시합니다. 열 레이블을 각각 Maximun, Minimum, Sum 및 Average로 지정하고 결과를 정수로 반올림하는 질의를 작성하시오. SELECT MAX(SALARY) AS Maximum, MIN(SALARY) AS Minimum, SUM(SALARY) AS Sum, ROUND(AVG(SALARY)) AS Average FROM EMP; EX2. 각 직무에 대한 급여 최저액, 최고액, 총액 및 평균액을 표시하도록 한다. 평균은 소숫점 둘째자리까지 표현하시오. SELECT JOB_ID,MIN(SALARY),MAX(SALARY),SUM(SALARY), ROUND(AVG(SALARY), 2)//소수점이 어디갔지?! FROM EMP GROU..
[2일차 과제]단일행 함수 이름 :조은수 EX1. 현재 날짜를 표시하는 질의를 작성하고 열 레이블을 Date로 지정한다. SELECT SYSDATE AS "Date" FROM DUAL; EX2. 사원 번호, 이름, 급여 및 15% 인상된 급여를 정수로 표시하고 열 레이블을 New salary 로 한다. SELECT EMPLOYEE_ID, LAST_NAME,SALARY,TRUNC( (SALARY*1.15),0) AS "New salary" from emp; EX3. 급여 인상분(새 급여에서 이전 급여를 뺀 값)을 추가하도록 수정하고 열 레이블을 Increase로 지정한다. SELECT TRUNC((SALARY*1.15),0)-SALARY AS "INCREASE" FROM EMP; EX4. 사원 이름, 입사일 및 급여 검토일을 표시한..