본문 바로가기
  • 문과생의 백엔드 개발자 성장기

oracle8

210602_DB9 (SQL) / CURSOR Q1) 부서 번호 20번인 사원의 부서 번호, 이름, 봉급을 구하는 프로시저를 만들자 [워크시트] SELECT EMPNO, ENAME, SAL --INTO V_EMPNO, V_ENAME, V_SAL FROM EMP WHERE DEPTNO = 20; SET SERVEROUTPUT ON EXEC EMP_EX01 SELECT EMPNO, ENAME, SAL --INTO V_EMPNO, V_ENAME, V_SAL FROM EMP WHERE DEPTNO = 20; # ===== 1. 워크시트 창에 출력할 내용 생성 # ===== 2. EMP_EX01 프로시저 생성 (아래코드참고) SET SERVEROUTPUT ON EXEC EMP_EX01 # ===== 3. SET SERVEROUPTPUT ON 선언 후 EMP_.. 2021. 6. 2.
20210531_DB7 (SQL) / VIEW, PL/SQL ✨ VIEW의 개념을 이해하고 기술할 수 있다. ✨ PLSQL 의 문법을 이해하고 실행할 수 있다. VIEW (뷰) 다른 테이블이나 뷰에 포함된 데이터의 맞춤 표현Tailored Presentation STORED QUERY OR VIRTUAL TABLE로 간주되는 데이터베이스 객체 하나 또는 하나 이상의 테이블/뷰에 포함된 데이터 부분집합을 나타내는 논리적인 객체 → 선택적인 정보만 제공 가능 자체적인 데이터를 포함하지 않는다. ※ 베이스 테이블: 뷰를 통해 보여지는 데이터를 포함하고 있는 실제 테이블 ✔ 사용 목적 및 장점 1. Restricted data access : 뷰에 접근하는 사용자는 미리 정의된 결과만 볼 수 있음 → 데이터 접근을 제한함으로써 중요한 데이터를 보호할 수 있다. 2. hi.. 2021. 5. 31.
210527_DB5(SQL) / 트랜잭션 Transaction Transaction 이란 논리 작업 단위를 형성하는 DML문의 모음을 말한다. 예를들어, 은행업무 데이터베이스에서 은행 고객이 보통 예금에서 당좌 예금으로 금액을 이체하는 경우, 보통예금 잔액 감소,, 당좌 예금 잔액 증가 및 트랜잭션 기록이라는 세 가지 작업을 묶어서 하나의 Transaction이라 한다. 이 세 가지 작업 중 하나라도 수행되지 못하면, 나머지 작업도 최소 되어야 만 해당 계정에 정확한 잔액이 유지될 수 있다. ✔ 트랜 잭션이란?? 하나 혹은 두 개 이상의 SQL 문들로 이루어진 작업의 논리적인 단위 하나의 트랜잭션 안의 모든 SQL은 동일한 효과를 내며 성공하면 전부 성공하고 실패하면 전부 실패한다. 하나의 트랜잭션은 커밋(COMMIT)될 수도 있고 롤백(ROL.. 2021. 5. 27.
210524 _DB3 (SQL) / 분석함수, JOIN ✨ 분석함수 종류를 살펴보고 활용하자. ✨ join 또는 subquery를 살펴보고 구현해보자. 분석함수 분석함수를 사용하는 이유 : RDB상에서 컬럼과 컬럼연산, 비교, 연결은 쉬운반면 행과 행간의 관계를 정의하거나, 비교, 연산하는 것을 하나의 SQL로 처리하기 힘든점 프로그램 작성, 인라인 뷰를 이용해서 복잡한 SQL문 작성 분석함수를 도입해서 행간의 연산을 원활하게 연동한다. 단 중첩해서 사용하지 못하지만 서브 쿼리에서 사용할 수 있다. [형식] SELECT Analytic_Function(arguments) OVER ([PARTITION BY 절] [ORDER BY 절] [Windowing 절] 중 택1) FROM 테이블명; ✔ Analytic_Fungtion( ) : avg, count, la.. 2021. 5. 24.
210521_work shop (2-2) . SQL SELECT QUESTION ✔ 사원테이블에서 모든 데이터를 출력하라 SELECT * FROM EMP; SQL> SELECT * 2 FROM EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------------------- ------------------ ----- -------- ----- ----- ------ 7369 SMITH CLERK 7902 80/12/17 800 20 7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30 7521 WARD SALESMAN 7698 81/02/22 1250 500 30 7566 JONES MANAGER 7839 81/04/02 2975 20 7654 MARTIN SALESMA.. 2021. 5. 23.
210521_work shop (2-1) . SQL 함수 QUESTION ✔ 사원 테이블에서 사원이름을 첫글자는 대문자로, 나머지는 소문자로 출력하라 SELECT INITCAP(ENAME) FROM EMP; : 첫 번째 문자만 대문자로 변환할 때 사용 SQL> SELECT INITCAP(ENAME) 2 FROM EMP; INITCAP(ENAME) -------------------- Smith Allen Ward Jones Martin Blake Clark King Turner James Ford INITCAP(ENAME) -------------------- Miller 12 rows selected. ✔ 사원테이블에서 사원이름을 뽑고 또 이름의 두번째 글자부터 네번째 글자까지 출력하라. SELECT ENAME, SUBSTR (ENAME, 2, 4) F.. 2021. 5. 23.
210521 _DB3 (SQL) 👌 그룹 함수 : GROUP BY 절, GROUP 함수 선언하고 활용할 수 있다. HAVING 절을 사용해서 GROUP 제한을 줄 수 있다. ROLLUP 연산을 사용해서 하위 총계 값을 계산할 수 있다. CUBE 연산을 사용하여 모든 열 조합에 대한 그룹 함수를 적용할 수 있다. GROUPING 함수를 사용해서 RULLUP, CUBE를 통해 만들어진 행 값을 식별할 수 있다. GROUPING SETS절을 사용해서 원하는 조합을 설정할 수 있다. 그룹 함수 : 다중행 함수 (MULTYROW) , 여러 개의ROW 데이터를 묶어서 처리한다. 여러 행들의 그룹이 모여서 그룹당 하나의 결과를 리턴하는 함수 SELECT, HAVING, ORDER BY 절에 사용될 수 있다. SELECT 문장 내의GROUP BY 절.. 2021. 5. 22.
210518_DB2 (SQL) NULL 값 - 한 행의 특정 열에 데이터 값이 없으면 NULL이라고 한다.. - NULL 값은 알 수 없는 값으로 00 또는 공백과 다르다. - NULL 값을 포함하는 연산의 경우 결과도 NULL이다. - 모르는 데이터에 숫자를 더하거나 빼도 결과는 모르는 데이터인 것과 같다. - 숫자를 0으로 나누면 오류가 발생하지만 NULL로 나누면 결과는 NULL이다. Literal 문자열 - 열 이름 열 별칭이 아니면서 SELECT 목록에 포함된 문자, 숫자, 또는 날 짜이며 각 행이 반환될 때마다 출력된다. - 텍스트 리터럴 문자열은 질의 결과(SQL 구문)에 포함되어 SELECT 목록의 열과 동일하게 취급된다. - 날짜 및 문자 리터럴은 반드시 작은따옴표(' ')로묶지 않는다. Pseudo Column 의사.. 2021. 5. 19.