FETCH
PRIMARY KEY일 경우 W01 찾으면 이후의 데이터를 비교하지 않음. BREAK가 아닌 형식상의 순환만 실행함
RESULT SET
GROUPING : 여러 개의 데이터를 하나로 합침
GROUPING FUNCTION: COUNG(*), MAX(COL), MIN(COL), SUM(COL), AVG(COL)
문자 값에 대한 연산도 가능, 아스키코드화
SUM, AVG : 수치 데이터에서만 가능
COUNT, MAX, MIN : 수치 데이터가 아닌 데이터도 가능
MYSQL: BOOLEAN값으로, ORACLE: BOOLEAN X
BEAN의 필드명과 ALIAS의 명을 일치시키자
복호화가 불가능한 패스워드 ..
SPRING : 암호정책 - MATCH메소드 지원 암호화되지 않은 데이터와 암호화된 데이터를 비교해줌
암호화된 패스워드를 가져와야함
데이터 조회 성능 : WHERE, INDEX, PRIMARY KEY, FOREIGN KEY
다음작업을 위해 PRIMARY KEY 모두 조회하는것이 좋음
선행테이블 : 대부분 자식테이블 (데이터가 더 많은 테이블)
SELECT 할때에는 사각형의 형태를 갖추어야함
GROUPING 방법: GROUP BY, GROUPING FUNCTION
GROUP BY HAVING
SELECT DISTINCT : 중복값 제거
DISTINCT 뒤에는 GROUP BY가 올 수 없다.
COUNT : NULL 포함하고 개수를 셈
AVG: NULL은 제외하고 개수를 셈
숫자형 데이터에는 NULL을 넣지 않는게 좋음
CEIL(NUMBER) : 주어진 숫자 값에서 가장 가까운 정수중에 큰 값, 소수 첫째자리에서 올림
FLOOR(NUMBER) : 소수 첫째자리에서 버림
ROUND(NUMBER) :
TRUNC(NUMBER)
실수타입으로 연산하는 방법, 잘 안씀 (정수타입으로 변환)
125.421 + 0.5 = 125.921 -> TRUNC : 125
125.521 + 0.5 = 126.021 -> TRUNC : 126
쿼리 안에 쿼리: 서브쿼리
쿼리가 FROM절안에 들어가면 인라인 뷰(직렬 뷰)
뷰가 효율적이진 않음. 치환을 거쳐야 하므로
ㄴ 뷰가 객체화 되었으므로 성능이 떨어질 수 있음.
댓글