| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 스프링
- 바인딩변수
- 의존주입
- .xml
- frontController
- springmvc
- c:if
- @RequestMapping
- 어노테이션
- SpringBoot
- spring
- 유효성검사
- after-throwing
- 생성자주입
- Model
- 서비스레이어
- AOP
- PointCut
- @ResponseBody
- 비즈니스레이어
- gradle
- @
- produces
- Java
- @Valid
- application.properties
- @RequestParam
- jointpoint
- MVC
- springjdbc
- Today
- Total
목록DB (39)
메모장
1. 오라클 설치하기 저는 11g xe 를 다운받았습니다. 2. 설치 후 cmd 명령 프롬프트 켜기sqlplus sys/oracle as sysdba 라고 입력하면연결완료 시 모습 3. 이제 계정을 생성해보자 ![계정 생성]> CREATE USER 계정명IDENTIFIED BY 비밀번호 설정ACCOUNT UNLOCK; > GRANT CONNECT, RESOURCE TO 계정명; 4.이클립스와 연동 (드라이버) 드라이버 jar 파일이 필요하다. .jar 파일을 Java Build Path 에 Add 해준다. 그 후 순서Service Name Host 지정 user namepassword 입력 성공 ! 이클립스와 오라클 연동에 성공 하면, 아래와 같이, sql 폴더에 .sql 파일을 생성 하기. ..
✔️ 앞 또는 뒤의 행 참조하기: LAG, LEAD 함수 앞이나 뒤의 행을 비교해 데이터 처리를 할때 LAG 함수나 LEAD함수를 사용하면 SELF JOIN문을 사용하지 않아도 되므로 간편한다. LAG 함수는 현재 행에서 바로 앞의 행에 접근하고, LEAD 함수는 현재 행에서 바로 뒤의 행에 접근한다. 1행에 값이 NULL 이므로 현재 행의 바로 앞에 행을 참고하기 때문에 1행이 NULL이라 2행이 NULL, 3행이 2행꺼 참고하고 3행도 NULL, 그래서 5행까지 NULL이다. LEAD 함수는 뒤에 부터 참고한다. ✔️ 상대 순위 계산하기 : PERCENT_RANK 함수 PERCENT_RANK 함수는 상대 순위를 계산 할 수 있다. 또한 쿼리 결과 또는 파티션 내 의 상대 순위를 평가 할 수도 있다. ..
✔️ 유일값으로 순위 부여하기 : ROW_NUMBER 함수 . 한글로 설명 하자면 SELECT 찾을거야 NUM, MIDFK,CNUMFK,FDATE를 보여줄건데 ROW_ NUMBER 순위를 부여해서 같은것 끼리 ORDER BY NUM -> PK값으로 순차적으로 보여줘 FROM OWNCOUPON에서 근데 WHERE MIDFK=1; MIDFK가 1인 애들로만 . OWNCOUPON 의 원래 테이블과 비교 했을때 NUM 순차적으로 나왔고 MIDFK가 1인 애들만 비교해서 나왔다. ✔️ 같은 순위 개수 고려해 순위 부여하기 : RANK 함수 RANK함수는 같은 순위일때 같은 값을 부여한다. 또한 같은 순위를 처리한 다음 순위의 값은 같은 순위를 처리한 개수를 이용해 매긴다. 예를 들어 1순위가 3개라면 다음순위는 ..
절대값 구하기 : ABS 함수 양수 음수 여부 판단하기 : SIGN 함수 천장값과 바닥값 구하기 : CEILING, FLOOR 함수 CEILING 함수는 천장값을 구하는데 , 지정한 숫자보다 크거나 같은 최소 정수를 반환한다. ex) 2.4 라면 3을 반환 FLOOR 함수는 바닥값을 구하는데 , 지정한 숫자보다 작거나 같은 최대 정수를 반환 한다. ex) 2.4라면 2를 반환 반올림 구하기 : ROUND 함수 ROUND 함수는 반올림을 구한다. ROUND( numeric_expression , length) ---> 첫번째 매개변수 numeric_expression은 정확한 수치나 근사 자료형 범주의 값을 사용한다. 두번째 매개변수인 length는 numeric_expression 을 반올림해 표현한 자..
조건에 맞는 데이터 개수 세기 : COUNT 출처 입력 조건에 맞는 데이터의 개수를 세고 싶다면 COUNT 함수를 쓴다 .COUNT 함수가 반환하는 값은 INT범위 이다. CNT와 CATEGORY 를 그룹화 하여 CNT와 CATEGORY 둘다 작은 순 부터 개수를 계산하여 정렬 하였다. 책 리스트가 100권 있으므로 카테고리의 종류는 5가지 이지만 각 책 한권마다 카테고리를 가지기 때문에 카테고리를 가진 책의 개수가 100 권 있다. COUNT 함수 사용시 DISTINCT 문을 조합하면 NULL 값이 아닌 고윳값의 데이터 개수를 얻을 수 있다. 카테고리의 종류는 다섯가지 이므로 고윳값은 5 라고 나오는 모습을 볼 수 있다. 데이터의 합 구하기 : SUM 함수 카테 고리 별로 합산하되 CNT로 그룹을 지어..
날짜 함수는 날짜나 시간 데이터 작업을 위한 다양한 기능을 제공한다. 서버의 현재 날짜 , 시간 반환 하기 : GETDATE, SYSDATETIME 함수 만약 현재 접속중인 데이터베이스 서버의 시간을 확인하려면 GETDATE, SYSDATETIME 함수를 사용한다. 차이점은 GETDATE -> 소수점 3자리 까지 , SYSDATETIME -> 소수점 7자리 기본 형식 SELECT GETDATE(), SYSDATETIME() 서버의 현재 UTC 날짜 , 시간 반환하기 : GETUTCDATE, SYSUTCDATETIME 함수 현재 접속한 데이터베이스 서버의 협정 세계시(UTC) 시간을 확인하려면 사용해야 한다. 기본 형식 SELECT GETUTCDATE(), SYSUTCDATETIME() 날짜 더하기,빼기 ..
문자열과 문자열 연결하기: CONCAT 함수 CONCAT 함수로 문자열을 연결하는 방법 SELECT CONCAT ('I', 'Love', 'SQL') I와 SQL 사이에 LOVE 가 들어가게 연결 한다. 문자열과 숫자 또는 날짜 연결하기 : CAST, CONVERT 함수 숫자나 날짜 등의 값을 문자열로 변환해 연결하려면 어떻게 해야 할까 ? 그럴때 CAST,CONVERT를 쓴다. SELECT ipo_year + open_price FROM nasdaq_company WHERE symbol = 'MSFT' ------> 오류 CAST 함수 사용방법 !! CAST(expression AS datatype(length)) ------ 정답 ------ SELECT CAST(ipo_year AS nvarchar..
공통 테이블 식은 주로 데이터베이스에 없는 테이블이 필요할 때 사용하며, 바로 다음에 실행할 SELECT 문에만 사용해야 한다는 특징이 있다. 공통 테이블 식은 일반 공통 테이블 식 과 재귀 공통 테이블식으로 나뉜다. 공통테이블 식 은 줄여서 CTE 라고 부른다. 일반 CTE CTE 안에서 UNION문 , UNION ALL문 , INTERSECT문, EXCEPT문을 사용해 여러개의 일반 CTE 쿼리를 결합할 수 있다. 일반 CTE는 복잡한 쿼리를 단순하게 만들때 사용하기 좋다 . CTE 기본형식 WITH [CTE_테이블 이름] (열 이름1, 열이름2, ...) AS ( ) SELECT [열 이름] FROM [CTE_테이블 이름]; WITH문을 입력한 다음에 CTE_테이블 이름과 같이 사용할 테이블 이름을..
서브쿼리의 특징 반드시 소괄로로 감싸 사용한다. 주 쿼리를 실행하기 전에 1번만 실행된다. 비교 연산자에 서브쿼리를 사용하는 경우 서브 쿼리를 오른쪽에 기술 해야 한다. 내부에는 정렬 구문인 ORDER BY문을 사용할 수 없다. WHERE문에 서브쿼리 사용하기 서브 쿼리 중에서도 WHERE문에 사용하는 서브쿼리를 중첩 서브 쿼리 라고 부른다. 중첩서브쿼리는 SELECT문을 사용한 결과를 주 쿼리의 조건값으로 사용한다. 서브쿼리를 비교연산자와 함께 사용할 땐 반드시 서브쿼리의 반환결과가 1건 이하여야 한다. 2건 이상이면 다중 행 연산자 사용 다중 행 연산자 IN : 서브쿼리의 결과에 존재하는 임의의 값과 같은 조건 검색 ANY : 서브쿼리의 결과에 존재하느 어느 하나의 값이라도 만족하는 조건 검색 EXI..
지금까지 1개의 테이블에서 쿼리를 작성하는 방법을 알아 보았다. 이제는 2개이상의 테이블에서 쿼리를 작성하는 방법인 조인을 알아볼 것이다. 테이블을 2개 이상 조인한다는 의미 조인은 테이블 A의 열과 테이블 B의 정보를 포함해 검색 할 수 있게 만들어 준다. 그러면 이런 의문이 생긴다. '테이블을 만들때 처음부터 stock 테이블에 company_name열을 만들면 조인할 필요가 없는것 아닌가요?' 라고 생각 할 수도 있다. 맞는말이다. 하지만 그렇게 테이블을 만들면 stock 테이블에도 nasdaq_company 테이블에도 company_name이 있는 셈이니 데이터가 중복저장되는 문제가 생긴다. 데이터를 중복 저장하면 저장할 공간이 더 필요한 문제와, 중복 저장한 열 데이터를 수정할 경우 해당 열을 ..