본문 바로가기
728x90
반응형

sql6

[DB지식] MyBatis 사용 시 <!CDATA[ ... ]]> 사용 이유? MyBatis 사용 시 쿼리문에 비교 연산자와 같이 부등호 처리가 필요할 때가 있다. 하지만 비교 연산자를 사용했을 경우 error를 발생시키는데 그 이유는 비교 연산자인지 괄호인지 구분하지 못하기 때문이다. SELECT * FORM EMPLOYEES WHERE SALARY > 100 위 예시처럼 비교 연산자를 사용했을 때 MyBatis는 괄호인지 비교 연산자인지 구분하지 못한다. 이런 경우에 CDATA를 사용하면 CDATA 안에 들어가는 문장을 문자열로 인식해 구분할 수 있도록 도와준다. 사용방법은 아래와 같다. 100 ]]> 2021. 11. 1.
[Oracle] OT 문제 만들기 스터디 5주차 문제1. (인복) 분기별로 가장 빠르게 입사한 사람들중에서 입사한 월이 해당 분기의 첫 번째 달인 사람들의 직업을 구하여 아래와 같이 출력하시오 출력필드: 회원 번호, 풀네임, 직업, 입사 날짜 SELECT A.EMPLOYEE_ID, FULL_NAME, A.JOB_TITLE, A.HIRE_DATE FROM (SELECT EMPLOYEE_ID, (FIRST_NAME || ' ' || LAST_NAME) AS FULL_NAME, JOB_TITLE, TO_CHAR(HIRE_DATE, 'Q'), HIRE_DATE, RANK() OVER(PARTITION BY TO_CHAR(HIRE_DATE, 'Q') ORDER BY TRUNC(HIRE_DATE, 'DD') ASC) AS RNK FROM EMPLOYEES) A .. 2021. 9. 13.
[Oracle] OT 문제 만들기 스터디 4주차 문제1.(도헌) 제품 원가 순위중 금액이 높은 2위와 10위의 차를 구하고(소수 1째자리 반올림), 차이보다 낮은 판매원가 금액은 2.7배 증가, 높으면 0.5배감소 시키고, 변경된 판매원가의 2위의 주문수량과 변경된 판매원가와 기존 판매원가의 차를 구하고, 제품회사명을 출력하시오. 출력필드 : 제품번호, 제품회사명, 카테고리명, 주문수량, 판매가, 변경된판매원가, 차이 SELECT A.PRODUCT_ID, SUBSTR(A.PRODUCT_NAME, 1, 5) AS COMPANY_NAME, PC.CATEGORY_NAME, OI.QUANTITY, A.LIST_PRICE, A.F_PRICE, (A.F_PRICE - A.LIST_PRICE) AS CHA FROM (SELECT P.PRODUCT_ID, P.PRO.. 2021. 9. 6.
[Oracle] OT 문제 만들기 스터디 3주차 문제1. (재현) 창고(WAREHOUSE_NAME) 이름이 7글자을 넘고 보유중인 총수량이 1등인 창고를 아래 정답과 똑같이 출력하시오(WHERE은 1번만 사용가능합니다) SELECT (LOWER(SUBSTR(A.WAREHOUSE_NAME, 1, 3)) || SUBSTR(A.WAREHOUSE_NAME, 5)) AS NAME, A.SUM AS QSUM FROM (SELECT W.WAREHOUSE_NAME, SUM(I.QUANTITY) AS SUM, RANK() OVER(ORDER BY SUM(I.QUANTITY) DESC) AS RNK FROM WAREHOUSES W INNER JOIN INVENTORIES I ON W.WAREHOUSE_ID = I.WAREHOUSE_ID GROUP BY W.WAREHOU.. 2021. 9. 6.
[Oracle] OT 문제 만들기 스터디 1주차 문제1. (재현) 오더 STATUS가 'Canceled' 상태인 사원들이 가장 많이 모시고 있는 매니저를 출력하시오. 출력 : 사원번호,이름(퍼스트+라스트),이메일,JOB_TITLE SELECT E.EMPLOYEE_ID, (E.FIRST_NAME || E.LAST_NAME) AS FULL_NAME, E.EMAIL, E.JOB_TITLE FROM (SELECT E.MANAGER_ID, COUNT(*) AS CNT, RANK() OVER(ORDER BY COUNT(*) DESC) AS RNK FROM ORDERS O INNER JOIN EMPLOYEES E ON O.SALESMAN_ID = E.EMPLOYEE_ID WHERE O.STATUS = 'Canceled' GROUP BY E.MANAGER_ID) A.. 2021. 8. 19.
[Oracle] OT 문제 만들기 스터디 시작한 계기 국비지원과정에서 Oracle SQL 수업을 듣고, "배운 내용을 활용해보자!"라는 마음으로 뭉친 열정 있는 동기들이 각자 문제를 만들고 서로의 문제를 풀어보는 방식의 스터디 그룹이 형성되었다. 데이터는 뭘로 해볼까? Oracle에서 제공하는 'OT'라는 sampledata를 가지고 스터디를 진행하였다. 참고) https://www.oracletutorial.com/getting-started/oracle-sample-database/ OT 생성 방법 1. ot_create_user.sql를 다운받아 SYS에 OT사용자를 생성한다. 2. ot.sql를 실행해 OT데이터를 로드한다. Oracle 샘플 데이터베이스 OT 다이어그램 2021. 8. 19.
728x90
반응형