본문 바로가기

DB

(14)
연습문제_종합2 문제 -- 1. 다음 설명을 읽고 적절한 테이블을 생성하시오. -- 테이블 생성할 땐 기본키나 외래키를 별도로 설정하지 마시오.(5,6번 문제가 기본키, 외래키 설정 문제입니다.) /* BOOK_T 테이블 (1) BOOK_ID : 책번호, 숫자 (최대 11자리), 필수 (2) BOOK_NAME : 책이름, 가변 길이 문자 (최대 100 BYTE) (3) PUBLISHER : 출판사, 가변 길이 문자 (최대 50 BYTE) (4) PRICE : 가격, 숫자 (최대 6자리) */ /* CUSTOMER_T 테이블 (1) CUST_ID : 고객번호, 숫자 (최대 11자리), 필수 (2) CUST_NAME : 고객명, 가변 길이 문자 (최대 20 BYTE) (3) CUST_ADDR : 주소, 가변 길이 문자 (최..
연습문제_종합1 문제 -- 테이블 삭제 DROP TABLE BUY_T; DROP TABLE PRODUCT_T; DROP TABLE USER_T; -- 사용자 테이블 CREATE TABLE USER_T ( USER_NO NUMBER NOT NULL -- 사용자번호(기본키) , USER_ID VARCHAR2(20 BYTE) NOT NULL UNIQUE -- 사용자아이디 , USER_NAME VARCHAR2(20 BYTE) NULL -- 사용자명 , USER_YEAR NUMBER(4) NULL -- 태어난년도 , USER_ADDR VARCHAR2(100 BYTE) NULL -- 주소 , USER_MOBILE1 VARCHAR2(3 BYTE) NULL -- 연락처1(010, 011 등) , USER_MOBILE2 VARCHAR2..
연습문제_조인 문제 -- 1. LOCATION_ID가 1700인 부서에 근무하는 사원들의 EMPLOYEE_ID, FIRST_NAME, DEPARTMENT_NAME을 조회하시오. -- 1) ANSI -- 2) 오라클 -- 2. DEPARTMENT_NAME이 'Executive'인 부서에 근무하는 사원들의 EMPLOYEE_ID, FIRST_NAME을 조회하시오. -- 1) ANSI -- 2) 오라클 -- 3. 모든 사원들의 EMPLOYEE_ID, FIRST_NAME, DEPARTMENT_NAME, STREET_ADDRESS, CITY를 조회하시오. -- 1) ANSI -- 2) 오라클 -- 4. 부서별 DEPARTMENT_NAME과 사원 수와 평균 연봉을 조회하시오. -- 1) ANSI -- 2) 오라클 -- 5. 모든 ..
연습문제_서브쿼리 문제 -- 1. 사원번호가 1001인 사원과 동일한 직급(POSITION)을 가진 사원을 조회하시오. -- 2. 부서번호가 2인 부서와 동일한 지역에 있는 부서를 조회하시오. -- 3. 가장 높은 급여를 받는 사원을 조회하시오. -- 4. 평균 급여 이하를 받는 사원을 조회하시오. -- 5. 평균 근속 개월 수 이상을 근무한 사원을 조회하시오. -- 6. 부서번호가 2인 부서에 근무하는 사원들의 직급과 일치하는 사원을 조회하시오. -- 7. 부서명이 '영업부'인 부서에 근무하는 사원을 조회하시오. -- 8. 직급이 '과장'인 사원들이 근무하는 부서 정보를 조회하시오. -- 9. '영업부'에서 가장 높은 급여를 받는 사람보다 더 높은 급여를 받는 사원을 조회하시오. -- 10. 3 ~ 4번째로 입사한 사원..
연습문제_DQL 문제 -- 1. EMPLOYEES 테이블에서 JOB_ID를 조회하시오. 동일한 JOB_ID는 한 번만 출력하고 알파벳 순으로 정렬하여 조회하시오. -- 2. EMPLOYEES 테이블에서 DEPARTMENT_ID가 50인 사원 중에서 SALARY가 5000 이상인 사원을 조회하시오. -- 3. EMPLOYEES 테이블에서 FIRST_NAME이 'Steven', LAST_NAME이 'King'인 사원을 조회하시오. -- 4. EMPLOYEES 테이블에서 EMPLOYEE_ID가 151 ~ 200인 사원을 조회하시오. -- 5. EMPLOYEES 테이블에서 JOB_ID가 'IT_PROG', 'ST_MAN'인 사원을 조회하시오. -- 6. EMPLOYEES 테이블에서 HIRE_DATE가 2005년도인 사원을 조회..
연습문제_DDL 문제 -- 1. 다음 칼럼 정보를 이용하여 MEMBER_T 테이블을 생성하시오. -- 1) 회원번호: MEM_NO, NUMBER, 필수 -- 2) 회원아이디: MEM_ID, VARCHAR2(30 BYTE), 필수, 중복 불가 -- 3) 회원패스워드: MEM_PW, VARCHAR2(30 BYTE), 필수 -- 4) 회원포인트: MEM_POINT, NUMBER -- 5) 회원구분: MEM_GUBUN, VARCHAR2(7 BYTE), 'REGULAR', 'SOCIAL' 값 중 하나를 가짐 -- 6) 회원이메일: MEM_EMAIL, VARCHAR2(100 BYTE), 중복 불가 -- 2. MEMBER_T 테이블에 다음 새로운 칼럼을 추가하시오. -- 1) 회원주소: ADDRESS VARCHAR2(200 BYTE..
SQL응용_문제 DROP TABLE STUDENT_T; DROP TABLE PROFESSOR_T; DROP TABLE DEPARTMENT_T; CREATE TABLE DEPARTMENT_T ( DEPT_NO NUMBER(4) NOT NULL , DEPT_NAME VARCHAR2(30 BYTE) NULL , DEPT_LOC VARCHAR2(10 BYTE) NULL , CONSTRAINT PK_DEPT PRIMARY KEY(DEPT_NO) ); CREATE TABLE PROFESSOR_T ( PROF_NO NUMBER(4) NOT NULL , PROF_NAME VARCHAR2(10 BYTE) NULL , PROF_POS VARCHAR2(20 BYTE) NULL , PROF_SAL NUMBER(10) NULL , PROF_H..
SELECT 실행 순서 /* SELECT 문의 실행 순서 SELECT 칼럼 5 FROM 테이블 1 WHERE 조건 2 GROUP BY 그룹 3 HAVING 그룹조건 4 ORDER BY 정렬 6 */ -- 사원 테이블에서 부서별 사원수를 조회하시오. -- 가능 SELECT DEPARTMENT_ID, COUNT(*) -- 3 FROM EMPLOYEES -- 1 GROUP BY DEPARTMENT_ID; -- 2 -- 불가능 SELECT DEPARTMENT_ID AS DEPT_ID, COUNT(*) -- 3 FROM EMPLOYEES -- 1 GROUP BY DEPT_ID; -- 2 (GROUP BY 절이 실행되는 순서에서는 DEPT_ID가 존재하지 않기 때문에 오류가 발생) -- 사원 테이블에서 부서별 연봉 평균과 사원수를 조회하..
형변환 함수 /* DUAL 테이블 1. DUMMY 칼럼 1개를 가지고 있는 테이블이다. 2. 'X' 값을 가지고 있다. 3. FROM절이 필요 없는 SELECT문을 사용할 때 DUAL 테이블을 이용한다. */ -- 데이터타입변환 : 숫자, 날짜, 문자 등의 데이터타입을 바꿈 /* 1. 문자 -> 숫자로 변환하기 TO_NUMBER(문자) */ SELECT TO_NUMBER('123') FROM DUAL; /* 2. 숫자 -> 문자로 변환하기 TO_CHAR(숫자, [형식]) */ SELECT TO_CHAR(1234) , TO_CHAR(1234, '999999') -- ' 1234' , TO_CHAR(1234, '000000') -- '001234' , TO_CHAR(1234, '9,999') -- '1,234' , TO..
DQL 예제(hr) -- 1. 사원 테이블에서 FIRST_NAME, LAST_NAME 조회하기 SELECT E.FIRST_NAME AS 이름, E.LAST_NAME AS 성 FROM EMPLOYEES E; -- 2. 사원 테이블에서 DEPARTMENT_ID의 중복을 제거하고 조회하기 SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES; -- 3. 사원 테이블에서 EMPLOYEE_ID가 150인 사원의 정보 조회하기 SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID = 150; -- 4. 사원 테이블에서 연봉이 10000 이상인 사원의 정보 조회하기 SELECT * FROM EMPLOYEES WHERE SALARY >= 10000; -- 5. 사원 테이블에서 연봉이 100..