목록DB/쿼리 (12)
송민준의 개발노트
Subquery란 SELECT문 내에서 다시 SELECT문을 사용하는 것이다. 형태는 ① FROM 구에 SELECT문을 사용하는 인라인 뷰와 ② SELECT에 사용하는 스칼라 서브쿼리(Scala Subquery), ③ WHERE에 사용하는 서브쿼리 등이 있다. 예시를 들어보겠다. ① 인라인 뷰(from) - FROM 구에 일종의 가상의 테이블(뷰)를 만들어 사용하는 것이다. // EMP에 순번을 매겨 10번 이하까지 구하는 쿼리 SELECT * FROM ( SELECT ROWNUM NUM, ENAME FROM EMP ) a WHERE NUM < 10; ② 스칼라(select) - 스칼라 Subquery는 반드시 한 행과 한 칼럼만 반환하는 서브쿼리이다. (여러행이면 에러뜸) // 회원별 급여와 상급자의 ..
1. DECODE DECODE는 IF문과 같다고 보면된다. 특정 조건이 참일 때 값과 거짓일 때 값을 적용한다. DECODE(CUSTNO, 11031, 'YES', 'NO') 위와 같은 예시에서는 custno의 값이 11031일 경우 YES 를 반환하고 아닐 경우는 NO를 반환한다. 2개도 가능하다. DECODE(CUSTNO, 11031, 'YES', 10001, 'OK', 'NO') 11031일 경우에는 YES, 10001 일 경우에는 OK 그 외에는 NO를 반환한다. 응용 해서 아래와 같이 이중으로도 가능하다. DECODE( DECODE( ~ ) ) 2. CASE CASE문은 IF ELSE와 같은 프로그래밍 언어처럼 사용이 가능하다. 기본적인 구조는 아래와 같다. CASE [ expression ] ..
DB에 대한 포스팅은 기본적으로 oracle을 기준으로 대부분 하니 참고... 기본적으로 내장형 함수는 각 DBMS별로 차이가 있지만 거의 비슷한 방법으로 사용이 가능하다. 종류로는 형변환 함수, 문자열 및 숫자형 함수, 날짜형 함수가 있다. 형변환 함수는 명시적과 암시적 형변환이 있는데 암시적인 것은 DBMS가 알아서 처리해주는 것이고 명시적은 사용자가 직접 선언해주는 것이다. // 형변환 TO_NUMBER(문자열) : 문자열을 숫자로 변환 TO_CHAR(숫자 or 날짜, [FORMAT]) : 숫자 혹은 날짜를 지정된 FORMAT의 문자로 변환한다. TO_DATE(문자열, FORMAT) : 문자열을 지정된 FORMAT의 날짜형으로 변환한다. 형변환에 대한 보다 자세한 포스팅은 아래 글에 해놨다. htt..

뷰나 서비스단에서 수정 후 저장도 가능하겠지만 쿼리로 하는게 중복코드를 제거하기에 좋은 것 같다. 기본적으로 * 기본적으로 대소문자 상관없음 -- 연 월 일 (문자 사이에 원하는 기호 넣으면 됨) SYSDATE -- 2020-07-07 16:59:51 TO_CHAR(SYSDATE) -- 20/07/07 (기본 세션 설정) TO_CHAR(SYSDATE, 'YYYYMMDD') -- 20200707 TO_CHAR(SYSDATE, 'YYYY-MM-DD') -- 2020-07-07 TO_CHAR(SYSDATE, 'YYYY/MM/DD') -- 2020/07/07 TO_CHAR(SYSDATE, 'YYYY*MM*DD') -- 2020*07*07 -- 연 월 일 개별 TO_CHAR(SYSDATE, 'YYYY') -- 2..