sql
-
SQL - String To SplitDB/SQL 2023. 8. 7. 15:04
문자열과 구분자를 받아서 Split 하는 Function Split 이후 IN 조건으로 활용 -- 변수부터 진행 CREATE OR REPLACE TYPE ESHOP.T_VARCHAR2 AS TABLE OF VARCHAR2(32767); -- FUNC 생성 CREATE OR REPLACE FUNCTION ESHOP.F_STRING_TO_SPLIT ( P_STR IN VARCHAR2, P_SEP IN VARCHAR2 DEFAULT ',' ) RETURN T_VARCHAR2 IS L_RESULT T_VARCHAR2 := T_VARCHAR2(); L_STR_LENGTH PLS_INTEGER; L_SEP_LENGTH PLS_INTEGER; L_SEP_TYPE BOOLEAN; L_START PLS_INTEGER N..
-
Update Query시 두 테이블 간 1:1 대칭 후 값 Set 시키기 - Merge IntoDB/SQL 2019. 3. 28. 12:12
Update Query시 두 테이블 간 1:1 대칭 후 값 Set 시키기 MERGE INTO 값을넣을테이블 T -- 값을 넣을 테이블 USING ( -- 참조 테이블의 조회 조건 SELECT s.sabun -- 참조할 테이블의 컬럼 , s.erum , s.buser_code FROM 참조할테이블 s -- 참조할 테이블 WHERE s.toisa_day is null -- 조건 and erum in ( select erum -- 서브쿼리 이용 가능 from insa.vsabun where toisa_day is null and buser_name not in ( select buser_name from insa.vsabun where buser_name like '%판매%' and toisa_day is n..
-
-
Schema 작성DB/Oracle 2018. 8. 8. 11:28
DB이자 SCHEMA 작성 SYSTEM 으로 접속 -> User에 들어가서 우클릭 -> Create -> USER 선택 HR의 권한을 가지고 온다. ERD Model에서 Tools -> Forward Engineer -- F5 누르면 query대로 TABLE 설계CREATE TABLE CUSTOMER( PHONE VARCHAR2(13) NOT NULL , NAME VARCHAR2(100) NOT NULL , ADDRESS VARCHAR2(2000) NOT NULL ); CREATE UNIQUE INDEX XPK고객 ON CUSTOMER(PHONE ASC); ALTER TABLE CUSTOMER ADD CONSTRAINT XPK고객 PRIMARY KEY (PHONE); CREATE TABLE DELIVER..
-
SQL Study3 - SELECTDB/SQL 2018. 8. 7. 09:40
-- 46. 사원수가 가장 많은 도시에서 근무하는 모든 사원들의 부서별 및-- 직무별 평균 연봉을 조회하라.SELECT L.CITY , D.DEPARTMENT_NAME , J.JOB_ID , ROUND(AVG(E.SALARY) , 0) AVG_SALARYFROM EMPLOYEES E , DEPARTMENTS D , LOCATIONS L , JOBS J , ( SELECT * FROM ( SELECT L.CITY , COUNT(1) CNT FROM EMPLOYEES E , DEPARTMENTS D , LOCATIONS L WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID AND D.LOCATION_ID = L.LOCATION_ID GROUP BY L.CITY ORDER BY CNT D..
-
SQL Study2 - SELECTDB/SQL 2018. 8. 6. 14:54
-- 1. 모든 사원의 이름(FIRST_NAME, LAST_NAME)을 조회하라. SELECT FIRST_NAME , LAST_NAMEFROM EMPLOYEES; -- 2. 모든 사원의 모든 정보를 조회하라.SELECT *FROM EMPLOYEES; -- 3. 모든 도시 명을 조회하라.SELECT CITYFROM LOCATIONS; -- 4. 이름(FIRST_NAME)이 M 으로 시작하는 사원의 모든 정보를 조회하라.SELECT *FROM EMPLOYEESWHERE FIRST_NAME LIKE 'M%'; -- 5. 이름(FIRST_NAME)의 두 번째 글자가 'a'인 사원의 이름(FIRST_NAME)과 연봉을 조회하라.SELECT FIRST_NAME , SALARYFROM EMPLOYEESWHERE FI..