쌍용교육(JAVA)/SQL

-Equl Join(동등조인) JOIN : 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법 보통 둘 이상의 행들의 공통된 값 PRIMARY KEY 및 FOREIGN KEY 값을 사용하여 조인 두개의 테이블을 SELECT 문장 안에서 조인하려면 적어도 하나의 컬럼이 그 두 테이블 사이에서 공유되어야함. Cartesian Product(카티션 곱) : 검색하고자 했던 데이터뿐 아니라 조인에 사용된 테이블들의 모든 데이터가 반환되는 현상 1.조인 조건을 정의하지 않았을 경우 2.조인 조건이 잘못된 경우 SELECT * FROM emp,dept; --12개의 컬럼과 4개의 컬럼이 합쳐지면서 48개의 반복된 컬럼들을 가진 테이블이 생김. [Oracle 전용] 동등 조인(Equi Join) : 조건절에 = 조건..
-RANK() WITHIN GROUP (ORDER BY) RANK() : 순위를 표현할 때 사용하는 함수 RANK(조건값) WITHIN GROUP (ORDER BY 조건값 컬럼명) : 특정 데이터의 순위 확인하기 [주의] RANK 뒤에 나오는 데이터와 ORDER BY 뒤에 나오는 데이터는 같은 컬럼이어야 된다. SELECT RANK('SMITH') WITHIN GROUP(ORDER BY ename) "RANK" FROM emp; --defalut가 오름차순 -RANK() OVER(PARTITION BY ORDER BY) RANK() OVER(ORDER BY 컬럼명) : 전체순위 보기 사원들의 empno,ename,sal,급여 순위를 출력 SELECT empno,ename,sal , RANK() OVER(..
AVG AVG(): NULL을 제외한 모든 값들의 평균을 반환, NULL값은 평균 계산에서 무시됨 SELECT AVG(sal) FROM emp; SELECT ROUND(AVG(sal)) FROM emp; COUNT COUNT() : NULL을 제외한 값을 가진 모든 레코드(행)의 수를 반환. count(*)형식을 사용하면 NULL도 계산에 포함 SELECT COUNT(empno) FROM emp; SELECT COUNT(comm) FROM emp; --null값이 포함되어서 4개가 나옴 SELECT COUNT(*) FROM emp; MAX,MIN,SUM MAX() : 레코드 내에 있는 여러 값 중 가장 큰 값을 반환 SELECT MAX(sal) FROM emp; SELECT MAX(ename) FROM ..
-NVL,NVL2 NVL(value1,valuse2) value1dl null 이면value2를 쓴다 value1과 value2의 [자료형이 일치해야됨] SELECT ename,sal,comm, (sal+NVL(comm,0))*12 FROM emp; SELECT ename,NVL(TO_CHAR(comm) ,'NO Commission') FROM emp; NVL2(value,value2,value3) : value1dl null인지 평가. null이면 value3, null이 아니면 value2 [자료형이 일치하지않아도됨] SELECT NVL2(comm, 'commission', 'no commission') FROM emp; NULLIF,COALESCE NULLIF(value1,value2) : 두 개의..
-TO_CHAR 변환함수 TO_CHAR : 숫자 -> 문자, 날짜 -> 문자 TO_NUMBER : 문자 -> 숫자 TO_DATE : 문자 -> 날짜 TO_CHAR : 숫자 -> 문자, 날짜 -> 문자 SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM dual; SELECT TO_CHAR(SYSDATE,'YYYY년 MM월 DD일') FROM dual; --에러 SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM dual; 숫자 포멧팅. 실제자리수와 일치 SELECT TO_CHAR(1234,9999) FROM dual; SELECT TO_CHAR(1234,'9999') FROM dual; --9는 숫자 형태든 문자 형태든 상관이없다. SEL..
-MONTHS_BETWEEN 날짜함수 날짜에 산술 연산자 사용 SELECT ename, (SYSDATE - hiredate)/7 AS wekks FROM emp -- 큰날짜 - 작은날짜 WHERE deptno = 10; MONTHS_BETWEEN(날짜1,날짜2) : 두 날짜 간의 월 수 큰날짜 작은날짜 SELECT MONTHS_BETWEEN ('2012-03-23','2010-01-23') FROM dual; --26개월 차이 근무 월차 [반올림] SELECT ename, ROUND(MONTHS_BETWEEN(SYSDATE,hiredate)) months_worked --오늘날 - hiredate FROM emp ORDER BY months_worked; [절삭] SELECT ename, TRUNC(MO..
구승회
'쌍용교육(JAVA)/SQL' 카테고리의 글 목록 (2 Page)