일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jQuery
- eclipse 설정
- CSS
- HTML
- 엘라스틱서치
- 한글 깨짐
- docker
- elasticsearch
- Eclipse
- tomcat
- spring form
- 자바 리스트
- Excel
- 이클립스 설정
- 인텔리제이
- 형변환
- 자바
- Java
- 도커
- 쿼리
- db
- JavaScript
- JSP
- 이클립스
- 데이터베이스
- 엑셀
- 에러
- java 오류
- 자바스크립트
- spring 오류
- Today
- Total
목록전체보기 (180)
개발노트
INNER JOIN 한 결과 ( USING 이나 NATURAL JOIN을 사용하지 않은 이너 조인의 결과)양쪽 테이블에 있는 DEPTNO가 출력SELECT *FROM EMP AINNER JOIN DEPT BON A.DEPTNO = B.DEPTNO; USING / NATURAL JOIN 한 결과DEPTNO가 1개만 출력JOIN 기준인 컬럼이 맨 앞에 출력SELECT *FROM EMP AJOIN DEPT BUSING (DEPTNO);SELECT *FROM EMP ANATURAL JOIN DEPT B;
사용조건EQUAL JOIN양쪽에 같은 이름을 가진 컬럼이 있어야함 조건절 사용 안함 (NATURAL JOIN은 USING과 달리 같은 이름을 가진 컬럼들을 자동으로 다 조인조건에 넣음)SELECT EMPNO, A.ENAME, B.DNAMEFROM EMP ANATURAL JOIN DEPT B;
USING 사용 방법 ON 대신에 USING으로 변경하고, USING (두 테이블에 같은 이름을 가진 컬렴명) USING이 사용될 수 있는 조건EQUAL JOIN 일때 양쪽에 같은 이름을 가진 컬럼이 있어야함SELECT EMPNO, A.ENAME, B.DNAMEFROM EMP AJOIN DEPT BUSING (DEPTNO);
OUTER JOIN한 쪽 테이블 기준으로 조인 기준 테이블을 불러오고, 다른쪽 테이블을 추가한다.기준이 되는 반대쪽에다가(+) 기호 추가SELECT A.STADIUM_NAME, A.STADIUM_ID, B.STADIUM_ID, B.TEAM_NAMEFROM STADIUM A, TEAM BWHERE B.STADIUM_ID(+) = A.STADIUM_ID;
CROSS JOIN : 양쪽 테이블의 모든 조합-- 가상의 테이블 생성WITH SALGRADE AS ( SELECT 1 GRADE, 700 LOSAL, 1200 HISAL FROM DUAL UNION ALL SELECT 2 GRADE, 1201 LOSAL, 1400 HISAL FROM DUAL UNION ALL SELECT 3 GRADE, 1401 LOSAL, 2000 HISAL FROM DUAL UNION ALL SELECT 4 GRADE, 2001 LOSAL, 3000 HISAL FROM DUAL UNION ALL SELECT 5 GRADE, 3001 LOSAL, 9999 HISAL FROM DUAL)-- 조건을 주지 않고 JOIN하면 CROSS..
JOIN일반적으로 PK, FK를 이용논리적 관계만으로 가능테이블 여러개 조인해도 2개씩 조인JOIN A, B, C,D -> JOIN(JOIN(JOIN(A,B), C), D)EQUI JOIN테이블 간의 칼럼 값들이 정확히 일치 할때JOIN 대상 테이블이 N개라면 EQUI JOIN은 조인 조건 N-1개 필요SELECT EMP.EMPNO, EMP.ENAME, DEPT.DNAMEFROM EMP, DEPTWHERE EMP.DEPTNO = DEPT.DEPTNO; [제약사항]ALIAS를 사용하면 기존 테이블의 이름 사용 불가능ALIAS를 사용하면 ALIAS만 사용가능FROM에 AS 사용 불가 조건 추가해서 사용 가능SELECT A.EMPNO, A.ENAME, B.DNAMEFROM EM..
ORDER BY 절: 결과를 정렬해서 출력SELECT NAME, GROUP_NAME, BIRTH_YEARFROM ARTISTORDER BY BIRTH_YEAR; -- (기본 : ASC) 생략가능한 옵션정렬 순서ORDER BY에 있는 컬럼 순서대로 정렬-- ORDER BY의 첫번째 컬럼으로 정렬(BIRTH_YEAR)-- 같은 것들을 두번째 컬럼으로 정렬SELECT NAME, GROUP_NAME, BIRTH_YEARFROM ARTISTORDER BY GROUP_NAME, BIRTH_YEAR DESC ; -- 정렬 기준을 각각 다르게 줄 수 있다SELECT NAME, GROUP_NAME, BIRTH_YEARFROM ARTISTORDER BY GROUP_NAME ..
HAVING: GROUP BY 되거나 집계된 데이터 필터링SELECT GROUP_NAME, ROUND(AVG(HEIGHT), 2), MAX(HEIGHT), MIN(HEIGHT), AVG(FOOT_SIZE)FROM ARTISTGROUP BY GROUP_NAMEHAVING AVG(FOOT_SIZE) > 240; HAVING과 GROUP BY 순서를 바꿔도 실행이 된다. (논리적으로 GROUP BY 먼저 수행한 후 HAVING이 처리된다.)SELECT GROUP_NAME, ROUND(AVG(HEIGHT), 2), MAX(HEIGHT), MIN(HEIGHT), AVG(FOOT_SIZE)FROM ARTISTHAVING AVG(F..