본문 바로가기

전체 글

(77)
[데이터베이스] 오라클 WITH절 사용방법 WITH 절로 뷰를 만들듯이 가상의 테이블을 만들어 놓고 이를 쿼리에서 재활용하며 사용이 가능하다. WITH절은 서브쿼리와 유사하지만 반복해서 사용할수록 서브쿼리보다 성능 상 유리하다. WITH절로 쿼리 블록을 만들면 한 번만 파싱 되고 PLAN계획이 수립되므로 쿼리 성능 향상에 도움이 된다고 한다. WITH 절 사용방법 WITH [이름] AS ( 쿼리 작성 ) SELECT * FROM [WITH절에 사용된 이름]; WITH 절은 위와 같은 방식으로 사용이 가능하다. 이는 예문으로 보는것이 더 이해하기 편하다. WITH TEST AS ( SELECT * FROM PLAYER JOIN TEAM ON PLAYER.TEAM_ID = 'K03' AND TEAM.TEAM_ID = PLAYER.TEAM_ID ) S..
[데이터베이스]INTERSECT 키워드, CROSS JOIN INTERSECT키워드는 두 테이블 간에 공통된 행을 출력해 주는 키워드이다. 사용방법 SELECT TEAM_ID FROM PLAYER INTERSECT SELECT TEAM_ID FROM TEAM; // 아래와 같은 결과 반환한다. SELECT DISTINCT T.TEAM_ID FROM TEAM T JOIN PLAYER P ON T.TEAM_ID = P.TEAM_ID ORDER BY T.TEAM_ID; 실행결과 : PLAYER와 TEAM에는 둘 다 15개의 팀이 존재하는데 중복되는 팀을 오름차순으로 정렬을 한 뒤 출력된다. 하지만 실행 계획을 보니 두 번째 쿼리와 같은 결과를 출력하지만 두 번째 쿼리가 더 좋은 성능을 가지는 것을 확인할 수 있다. 주의 사항 : INTERSECT 키워드를 사용할 때 만..
[데이터베이스] DECODE(), CASE문 사용법 오라클에서 DEOCDE() 함수는 삼항 연산자와 비슷하게 사용이 가능하다. 사용법 : DECODE(컬럼명, 값, 컬럼값이 값이랑 일치할 때의 반환값, 일치하지 않을 때의 반환값); -- PLAYER테이블에서 TEAM_ID가 KO3이면 TRUE를 아니면 FALSE를 반환 SELECT PLAYER_NAME, DECODE(TEAM_ID, 'K03', 'TRUE', 'FALSE'), TEAM_ID FROM PLAYER; CASE문은 SWITCH문과 유사하다. CASE WHEN 조건문 THEN 참일 경우의 값, WHEN 조건문 THEN 참일 경우의 값, ... ELSE 조건이 모두 거짓일 경우의 값 END // CASE문의 종료를 알린다.
[Java] 정규표현식 정규표현식이란 문자열중 원하는 패턴을 가진 문자열을 찾기 위해 해당 문자열의 패턴을 표현한 문자 식입니다. ^ : 문자열의 시작을 나타냅니다. 하지만 [] 안에 사용되면 not으로 쓰입니다. $ : 문자열의 종료를 의미합니다. . : 임의의 한 문자 ex) ^c.$ : c로 시작하는 두 글자 * : * 기호 앞의 문자가 없을 수 도 있고 무수히 많을 수도 있다. ex) ^c.*$ : c로 시작하는 모든 문자 (= c로 시작하는 모든 임의의 문자) // c, c1, c12... + : + 기호 앞의 문자가 1개 이상 ex) ^c.+$ : c로 시작하는 두 글자이상 // c1, c2, ccc ? :? 앞의 문자가 없거나 하나 있다. ex) ^c.?$ : c 이거나 c로 시작하는 두 글자 [] : 문자 집합의..