일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring
- 자바기초
- SpringFramework
- java
- 클린빌드
- 불친절한SQL
- RDBMS
- 인프런
- SQL
- cleanbuild
- 패캠
- mariadb
- 남궁성
- 국비지원
- 패스트캠퍼스
- 자바문제
- oauth
- 자바의정석
- MySQL
- ApplicationContext
- 스프링
- 쿼리
- devcamp
- 스프링의정석
- 기초쿼리
- 소셜로그인
- Oracle
- 자바
- 오라클
- 자바연습문제
- Today
- Total
목록전체 글 (45)
Darren's Devlog
안녕하세요. 회사 출근길에 우연히 점심 구독 서비스 위잇딜라이트 팜플렛을 받게 되었는데 일주일간 내돈내산 체험 후기를 작성해보도록 하겠습니다. 추천인 코드를 입력할 경우, 각각 3천 포인트씩 적립가능 하니 제 추천인 코드를 등록하시고 포인트 받아가시면 좋을 것 같습니다! KTG82Q 점심 구독서비스, 위잇딜라이트 요즘 물가가 많이 올라서 그런지, 한 끼에 평균 8~9천원 정도 하는거 같습니다. 위잇딜라이트는 한 끼에 배송비포함 6,900원 정도에 포인트 적립과 추가 할인까지 생각하면 가성비가 좋다고 생각이 들었습니다. 마침 어떻게 하면 식비를 아낄 수 있을까 고민하던 참에 일주일간 체험을 해보자는 심정으로 구독했습니다. 실제 결제한 영수증과 선택했던 메뉴입니다. 페이코로 결제할 경우 추가 적립금을 받을 ..
○ 활용 예제 열 가공 WHERE 절의 열을 가공하면 쿼리의 성능이 저하될 수 있다. 가급적 열을 가공하지 않는 편이 바람직하다. 아래 쿼리는 연봉이 36000 이상인 행을 조회한다. 좌측 쿼리는 산술 연산이 행의 개수만큼 수행된다. 우측 쿼리는 산술 연산을 수행한 결과로 조건을 평가할 수 있다. SELECT * FROM emp WHERE sal * 12 >= 36000; SELECT * FROM emp WHERE sal >= 36000 / 12; 아래 쿼리는 deptno가 10이고 job이 CLERK인 행을 조회한다. 좌측 쿼리는 결합 연산자로 열을 가공했다. 우측 쿼리처럼 AND 조건을 사용해야 한다. SELECT * FROM emp WHERE deptno || job = '10CLERK'; SELE..
LIKE 조건 LIKE 조건은 char1이 char2 패턴과 일치하는 행을 반환한다. char1과 char2는 문자 값을 사용해야 한다. LIKE 조건을 패턴 일치 조건으로 부르기도 한다. char1 [NOT] LIKE char2 [ESCAPE esc_char] char2에 아래의 특수문자를 사용할 수 있다. 특수문자 설명 % 0개 이사의 문자와 일치 _ 하나의 문자와 일치 아래 쿼리는 ename이 A로 시작하는 행을 조회한다. SELECT ename FROM emp WHERE ename LIKE 'A%' 아래 쿼리는 ename이 A로 시작하고 S로 끝나는 행을 조회한다. SELECT ename FROM emp WHERE ename LIKE 'A%S'; 아래 쿼리는 ename에 ON이 포함된 행을 조회한..
● WHERE절 WHERE절을 사용하면 특정 행만 선택하여 조회할 수 있다. WHERE절은 FROM절 다음에 기술하며, FROM절 이후에 수행된다. SELECT 절 -- (3) FROM 절 -- (1) WHERE 절 -- (2) WHERE절의 구문은 아래와 같다. 조건(condition은) 행마다 평가되며, TRUE, FALSE, UNKNOWN 중 하나의 값을 반환한다. SELECT 문은 WHERE절의 평가 결과가 TRUE인 행만 반환한다. WHERE condition 비교 조건, 논리 조건, IN 조건, BETWEEN 조건, LIKE 조건, NULL 조건을 차례대로 살펴보자. 비교 조건 비교 조건으로 표현식을 비교할 수 있다. 아래와 같은 비교 조건을 사용할 수 있다. 비교 조건 설명 비교 조건 설명 ..
○ 인코딩 디코딩 함수 값을 인코딩하거나 디코딩하는 함수이다. DECODE 함수 DECODE 함수는 expr과 search가 일치하면 result, 모두 일치하지 않으면 default를 반환한다. default를 지정하지 않으면 NULL을 반환한다. result와 default의 데이터 타입은 첫 번째 result의 데이터 타입과 동일해야 한다. expr과 데이터 타입이 다른 search는 expr의 데이터 타입으로 변환된다. DECODE(expr, search, result [, search, result]··· [, default]) SELECT DECODE(1, 1, 'A', 2, 'B', 'C') AS c1 , DECODE(2, 1, 'A', 2, 'B', 'C') AS c2 , DECODE(3,..
앞으로 나의 업무 효율을 높여줄 장비를 새로 장만했다. 바밀로 VA87M 저소음 적축과 로지텍 리프트 버티컬 제품이다. 손목 통증이 좀 있어서 멤브레인 키보드 보다 키압과 소음이 낮은 키보드와 버티컬 마우스를 선택했다. 당근으로 각 8만원, 5만원에 구매했다. 나름 저렴하게(?) 장비를 마련한 것 같아서 다행이다. 소리가 서걱서걱 듣기 좋고 조용해서 회사에서 사용하기에 아주 좋아 보인다. 버티컬 마우스는 손이 좀 작은 편이라 리프트 버티컬로 선택했다. 집에 있는 시간보다 회사에서 작업하는 시간이 더 많기 때문에 회사에 놓고 사용할 예정이다. 부디 투자한 만큼 내 업무 효율과 실력도 같이 상승하길...!
○ 비교 함수 값 집합의 최소값이나 최대값을 결정하는 함수이다. LEAST 함수, GREATEST 함수 expr 중 최소/최대값을 반환한다. expr에 null이 입력되면 null을 반환한다. expr의 데이터 타입이 동일해야 한다. 데이터 타입이 다르자면 첫 번째 expr의 데이터 타입으로 변환되고, 형변환 에러가 일어날 수 있다. SELECT LEAST(1, 2, 3) AS c1, LEAST('A', 'AB', 'ABC') AS c2, LEAST(1, NULL) AS c3 FROM DUAL; SELECT GREATEST(1, 2, 3) AS c1, GREATEST('A', 'AB', 'ABC') AS c2 , GREATEST(1, NULL) AS c3 FROM DUAL;
○ 널 관련 함수 NULL을 처리하는 함수다. NVL 함수 expr1이 널이 아니면 expr1, 널이면 expr2를 반환한다. NVL(expr1, expr2) SELECT NVL(1, 2) AS c1, NVL (NULL, 2) AS c2 FROM DUAL; SELECT ename, sal, comm, sal + comm AS c1, sal + NVL(comm, 0) AS c2 FROM emp; NVL2 함수 expr1이 널이 아니면 expr2, 널이면 expr3를 반환한다. 삼항 연산자와 유사하다고 느껴진다. NVL2(expr1, expr2, expr3) SELECT NVL2(1, 2, 3) AS c1, NVL2(NULL, 2, 3) AS c2 FROM DUAL; SELECT ename, sal, com..
○ 변환함수 값의 데이터 타입을 다른 데이터 타입으로 변환하는 함수이다. TO_CHAR(number) 함수 숫자 값 n을 fmt형식의 문자 값으로 변환한다. TO_CHAR(n [, fmt [, 'nlsparam']]) 자주 사용되는 포맷이다. 포맷 요소 설명 0 앞쪽이나 뒷쪽에 0을 출력 9 한자리 숫자 , 구분자 . 소수점 S 부호(양수일 경우 +, 음수일 경우 -) G 구문자(NLS_NUMERIC_CHARACTERS으로 변경 가능) D 소수점(NLS_NUMERIC_CHARACTERS으로 변경 가능) $ 달러 L 로컬 통화 기호 U 이중 통화 기호 C 국제 통화 기호 c1과 c4 열은 값이 fmt보다 커 결과가 #으로 표시된다. SELECT TO_CHAR(12, '0' ) AS c1, TO_CHAR(1..
○ 날짜 함수 날짜 값(date, timestamp, interval)을 조작하는 함수이다. 예제를 위해 NLS 파라미터를 아래와 같이 설정했다. ALTER SESSION SET NLS_DATE_FORMAT = "YYYY-MM-DD HH24:MI:SS"; ALTER SESSION SET NLS_TIMESTAMP_FORMAT = "YYYY-MM-DD HH24:MI:SS.FF"; ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = "YYYY-MM-DD HH24:MI:SS.FF TZH:TZM"; SYSDATE 함수 초(second)가 포함된 데이터베이스 서버의 날짜 값을 DATE타입으로 반환한다. SELECT SYSDATE FROM DUAL; SYSDATE 함수 소수점 이하 초() ..