목록분류 전체보기 (98)
버글버글
table or view does not exist mybaits의 properties 값 확인하기 username과 pasword 확인 필요 hikari.driver=oracle.jdbc.OracleDriver hikari.url=jdbc:oracle:thin:@localhost:1521:xe hikari.username=####### hikari.password=####### mapper.locations=mybatis/mapper/*.xml config.location=mybatis/config/mybatis-config.xml
▶ 연습문제 * HR계정(교육용 계정), EMPLOYEES 테이블 기반 1. 부서위치(LOCATION_ID)가 1700인 부서에 근무하는 사원들의 EMPLOYEE_ID, LAST_NAME, DEPARTMENT_NAME을 조회하시오. - DEPARTMENTS 테이블 : LOCATION_ID, DEPARTEMNT_NAME - EMPLOYEES 테이블 : EMPLOYEE_ID, LSAST_NAME 2. 부서명이 'Executive'인 부서에 근무하는 사원들의 EMPLOYEE_ID, LAST_NAME, DEPARTMENT_NAME을 조회하시오. 3. 직업아이디(JOB_ID)가 변하지 않은 사원들의 EMPLOYEE_ID, LAST_NAME, JOB_ID를 조회하시오. - 현재 JOB_ID(EMPLOYEES)와 과..
▶ 조인(Join) 1. 2개 이상의 테이블을 조회하는 방법 2. 조회할 테이블들은 관계를 줄 수 있어야 함 3. 종류 1) 크로스 조인 : 카테젼 곱, 각 테이블의 모든 행을 조인 - 많은 행을 순식간에 만들 수 있음(기초데이터 작성용) - 조인 조건을 잘못 지정한 경우 2) 내부 조인 - INNER JOIN - 각 테이블에 일치하는 모든 행을 조인 3) 외부 조인 - OUTER JOIN - 한 테이블은 일치하는 행을 조인, 한 테이블은 일치하지 않아도 조인 - 왼쪽 외부 조인(LEFT OUTER JOIN), 오른쪽 외부 조인(RIGHT OUTER JOIN) 4) 셀프 조인 - SELF JOIN - 한 테이블에 참조 관계가 있는 경우 - 한 테이블에 특정 칼럼과 다른 특정 칼럼을 조인 4. 형식 1) ..
▶ 연습문제 * HR계정(교육용 계정), EMPLOYEES 테이블 기반 1. 급여평균이 10000 이상인 부서의 부서번호와 급여평균을 조회하기 2. 동일한 부서번호(DEPARTMENT_ID)로 그룹화하기 - 동일한 부서번호를 가진 사원들을 직업아이디(JOB_ID)로 다시 그룹화하기 - 즉, 부서별 직업아이디별로 그룹화하기 - 부서별 직업아이디별로 그룹화하여 각 그룹의 사원수 조회하기 - 부서번호가 없는 사원은 제외하기 【DEPARTMENTS 테이블 연습】 1. 동일한 지역(LOCATION_ID)으로 그룹화하여 조회하기 2. 동일한 지역(LOCATION_ID)으로 그룹화하여 각 지역별 존재하는 부서수 조회하기 - 부서수가 2 이상인 지역만 조회하기 (HAVING COUNT(*) >= 2; 3. 동일한 지역..
▶ 그룹(GROUP BY) - GROUP BY절에서 지정한 칼럼의 데이터는 하나로 모아서 한 번만 조회가 됨 - SELECT절에서 조회할 칼럼은 "반드시" GROUP BY절에 존재해야 함 * HR계정(교육용 계정), EMPLOYEES 테이블 기반 1. 동일한 부서번호(DEPARTMENT_ID)로 그룹화하여 조회 SELECT DEPARTMENT_ID FROM EMPLOYEES GROUP BY DEPARTMENT_ID; 결과값 DEPARTMENT_ID 100 30 (null) 90 20 70 110 50 80 40 60 10 그룹화 실패의 예시) SELECT EMPLOYEE_ID FROM EMPLOYEES GROUP BY DEPARTMENT_ID; -- EMPLOYEE_ID를 조회하려면 GROUP BY절에 ..
▶ 기타 함수 1. 순위 1) RANK() OVER(ORDER BY 순위구할칼럼 ASC) : 오름차순 순위, 낮은 값이 1등, ASC는 생략 가능 2) RANK() OVER(ORDER BY 순위구할칼럼 DESC) : 내림차순 순위, 높은 값이 1등 - 같은 값이면 같은 등수(동점)로 처리 예시) EMPLOYEES 테이블의 사원 정보를 연봉이 높은 순으로 조회하기(연봉 순위를 함께 조회하기) SELECT RANK() OVER(ORDER BY SALARY DESC) AS 연봉순위 , EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES; 예시) EMPLOYEES 테이블의 사원 정보를 입사순으로 조회하기(먼저 입사한 사원이 1등) SELECT RANK() OV..
▶ 문자열 함수 1. 대소문자 변환 1) UPPER(칼럼) : 칼럼의 데이터를 모두 대문자로 변환 2) LOWER(칼럼) : 칼럼의 데이터를 모두 소문자로 변환 3) INITCAP(칼럼) : INITAL CAPITAL, 첫 글자는 대문자 나머지는 소문자로 변환 예시) -- 테이블 생성 CREATE TABLE SAMPLE( EMAIL VARCHAR2(20 BYTE) NOT NULL ); -- ROW 생성 INSERT INTO SAMPLE (EMAIL) VALUES ('sample@naver.com'); SELECT EMAIL-- sample@naver.com , UPPER(EMAIL)-- SAMPLE@NAVER.COM , LOWER(EMAIL)-- sample@naver.com , INITCAP(EMAIL..
▶ 날짜 함수 1. 현재 날짜와 시간 SELECT SYSDATE, SYSTIMESTAMP FROM DUAL; -- SYSDATE : 22/08/31 -- SYSTIMESTAMP : 22/08/31/ 10:34:35.912000000 +09:00 2. 원하는 형식으로 날짜와 시간 조회 - TO CHAR 함수 : 날짜를 문자로 변환해서 조회 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') -- 12시간 , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') -- 24시간 FROM DUAL; 3. 단위(년,월,일,시,분,초) 추출 함수 - EXTRACT(단위 FROM 날짜) SELECT EXTRACT(YEAR FROM SYSDATE) AS 년도 , E..