전체 글 105

[JAVA] Exception 출력 정리

예전에는 Exception이 중요하다고 생각하지 않았어서 진짜 쥐약이다 이부분은 과거의 나를 깐다 ㅠ 1. e (기본) java.lang.ArithmeticException: / by zero 3. e.getMessage() => 뒤에 메세지만 / by zero 2. e.getLocalizedMessage() => 뒤에 메세지만 로컬 언어로? / by zero * 둘의 차이점은 https://stackoverflow.com/questions/24988491/difference-between-e-getmessage-and-e-getlocalizedmessageLocale.setDefault(Locale.KOREA); 4. e.getCause() => null 아닐때 찾으면 업뎃하겟음 null 5. e.ge..

[Oracle] 교육 6일차) DML, DDL, 커밋 이전 조회 (플래시백)

왜이걸 이제 배우지?ㅋㅋㅋ 원래 제일먼저 배우지 않나 ㅋㅋㅋ * DML => rollback 가능=]] - INSERT INSERT INTO table_name (col1, col2, ... colN )VALUES('11', 22, .. , NN) * select Insert 가능INSERT INTO emp_new VALUES (select * from employees where salary < 5000) - UPDATE UPDATE table_nameSET col1= 111, col2 = 222, col3 = 333WHERE colN = NNN 역시나 select update 가능update emp_new set e.department_name = (select d2.department_name fr..

Develope/교육 2018.10.05

[Oracle] 6일차) 그룹 함수 (UNION ALL, MINUS, INTERSECT )

참고 : https://preamtree.tistory.com/45여기 설명 잘되어잇다. 까먹지말자 INTERSECT : 교집합MINUS : 차집합UNION : 합집합 (첫번째 컬럼으로 자동정렬)UNION ALL : 중복 허용되는 합집합 일단 개념은 위와 같고쿼리를 두개 쓰면 된다 select country_id, country_namefrom countries MINUS select distinct c.country_id, c.country_namefrom locations l , countries c , departments dwhere d.location_id = l.location_idand l.country_id = c.country_id; ---다른방법으로 푸려햇는데 서브쿼리가 두개들어가서 그..

Develope/교육 2018.10.05

[Oracle] 5일차 ) JOIN, 서브쿼리, ROWNUM

JOIN, 서브쿼리, ROWNUM 오늘 배운것 정리하는 내용 - OUTER JOIN의 (+)는 확장해야 할 곳에 붙인다. 즉 null 이 있는 테이블- USING에 쓰인 컬럼은 테이블을 지정할 수 없다. ( select employees.first_name, employees.department_id) -mysql 의 limit == oracle의 rownum - GROUP BY 를 썻을 때 WHERE절에 ROWNUM을 쓰면 안됀다. 서브쿼리를 이용하자 SELECT * FROM departmentsWHERE rownum

Develope/교육 2018.10.04

[Oracle] 3일차 ) 문제풀이

생각보다 문제가 난이도가 높아서...;; 기록할 겸 적어본다. 1. 사원의 성에서 처음 8자리를 표시하고 급여 액수를 별표로 나타내는 쿼리를 작성한다.각 별을 1000 달러를 나타낸다. 급여의 내림차순으로 데이터를 출력한다. RPAD 함수를 이용하면 된다. 우선 substr을 통해 lastname을 8자리로 자른다. => SUBSTR(last_name,1,8)=> 해당 작업 하지 않아도 rpad에서 처리해준다고 한다. 처음 쓰이는 RPAD를 통해 이름부분을 8자리로 늘리고 => RPAD(last_name, 8, ' ') 두번째 쓰이는 RPAD를 통해 급여만큼 * 을 추가한다. => RPAD(' ', ROUND(salary/1000), '*') NAME + ' ' ***********************..

Develope/교육 2018.10.02

[Oracle] 오라클의 공백문자와 null

Oracle에서 길이가 0인 데이터는 Null이다. 오라클만 해당하는듯mysql은 공백문자가 존재했던 것으로 기억한다. - 실제로 길이가 0으로 나오지는 않는다. (-0)SELECT LENGTHB(''), LENGTH(''), VSIZE(''), DUMP('') FROM dual결과는 모두 NULL - Not Null인 컬럼에 대해 '' 공백문자는 insert 불가능하다. char (1)이 가능하다는 글이 있는데 null로 들어간다. number 또한 null - COUNT('') ==> 0 - 참고 : http://neovader.tistory.com/111 declare v varchar(10);beginv:= ''; if v is null then DBMS_OUTPUT.PUT_LINE('NULL')..

Develope/DataBase 2018.10.02

[Oracle] 3일차) 그룹함수

* 그룹 함수 종류 AVG([DISTINCT|ALL]n) n의 평균값. null 값은 무시합니다. COUNT({*|[DISTINCT|ALL]expr}) null 이 아닌 행 개수. *은 null도 포함 MAX([DISTINCT|ALL]expr) expr의 최대값. null 값은 무시합니다. MIN([DISTINCT|ALL]expr) expr의 최소값. null 값은 무시합니다. STDDEV([DISTINCT|ALL]n) n의 표준 편차. null 값은 무시합니다. SUM([DISTINCT|ALL]n) n의 합계 값. null 값은 무시합니다. - DISTINCT : 중복 제거select count(*), count(job_id), count(distinct job_id) 110 110 19 -예시문제ma..

Develope/교육 2018.10.02

[Oracle] 교육 2일차 - NVL, DECODE, CASE

* NVL(input, arg1)- input 값이 null이면 arg1로 표기한다.- NVL 함수는 NULL 값을 다른 값으로 바꿀 때 사용하며, 모든 데이터 타입에 적용이 가능하다. * NVL2 (input, arg1, arg2)- input 값이 null이 아니면 arg1로 표기한다.- input 값이 null이 맞으면 arg2로 표기한다. * nullif (arg1, arg2)- arg1 값과 arg2 값이 같으면 null을 반환한다. * COALESCE (arg1, arg2, arg3 ... args)- input 값 중 최초로 null이 아닌 값을 반환한다. 참고 : http://www.gurubee.net/lecture/1880 * CASE -표현방법1 CASE expr WHEN compar..

Develope/교육 2018.10.01

[Oracle] 교육 2일차 - 형변환

생각보다 교육이 빡세다 ㅠ_ㅠ내용 진짜 많아 전공자 아니면 조금 힘들꺼 같음 숫자 연산 : +, -, *, /날짜 연산 : +, - 문자와 숫자가 함께 쓰일 시 : 문자 -> 숫자 / 날짜but || NUM- to_date(String) : char => DATE- to_char(date, 'FORMAT') : NUM/DATE => char - to_numberYYYY 숫자로 된 전체 연도YEAR 영어 철자로 표기된 연도MONTH 전체 월 이름MM 월의 2자리 값MON 월의 3자 약어DD 숫자 형식의 월간 일DY 3문자로 된 요일 약어DAY 요일의 전체 이름 to_char 는 where절에 쓰엿을 떄와 select와 쓰여질 때 목적이 다르다.??select ; 숫자, 날짜의 기본 표시방법과는 다른 방법으..

Develope/교육 2018.10.01

[Oracle] 교육 2일차 - 연산자 우선순위(AND, OR), 기본 함수

181001 오라클 교육 2일차 튜닝들어가는 순간 망하겟지 헷갈리는 부분을 정의하는중 * 연산자 우선순위 참고1 : http://krids.tistory.com/201 참고2 : https://zetawiki.com/wiki/SQL_AND,_OR_%EC%97%B0%EC%82%B0%EC%9E%90_%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84 where 절에 쓰이는 AND 와 OR절의 연산자는 얼핏보면 우선순위가 같아보인다 벗 노노 AND 가 OR 보다 우선순위가 더 높다. 아래는 제타위키의 예시이다 2 예시[편집]SELECT 1 OR 0 AND 0; -- 1 SELECT (1 OR 0) AND 0; -- 0 SELECT 1 OR (0 AND 0); -- 1 * mysql 인가보다 오라..

Develope/교육 2018.10.01