[2] @@ select 기본함수 정리
|| -- mssql + 와 같음 문자열 붙여쓰기
IS NULL --널값 체크
SELECT ENAME,COMM,NVL(COMM,0) FROM EMP;//NVL : NULL 값 처리
1) MSSQL에서 LEFT, RIGHT 비교..
SELECT SUBSTR('123456789',-4) AS SHOW FROM DUAL; -- LEFT 4자리
SELECT SUBSTR('123456789',1,3) AS SHOW FROM DUAL; -- RIGHT 3자리
SELECT SUBSTR('123456789', 3) AS SHOW FROM DUAL; -- 3째 자리부터 문자 편집.
SELECT MIN(FIELD1), MIN(FIELD2) KEEP(DENSE_RANK FIRST ORDER BY FIELD1) AS FIELD2 FROM TABLE1 --최소값 및 행의 다른 필드값
SELECT MAX(FIELD1), MAX(FIELD2) KEEP(DENSE_RANK LAST ORDER BY FIELD1) AS FIELD2 FROM TABLE11--최대값 및 행의 다른 필드값
2) 순위 반환 함수.
RANK() OVER (ORDER BY salary DESC) : 중복 순위 다음은 해당 개수만큼 건너뛰고 반환.
DENSE_RANK() OVER (ORDER BY salary DESC) : 중복 순위 상관없이 순차적으로 반환.
ROW_NUMBER() OVER (ORDER BY salary DESC) : 중복과 관계 없이 무조건 순서대로 반환.
3) top 1 (MSSQL) 오라클 검색
SELECT MIN(ename) KEEP(DENSE_RANK FIRST ORDER BY hirday desc) from IM_EMP --일반
SELECT FROM (SELECT FROM IM_EMP ORDER BY HIRDAY DESC) WHERE ROWNUM <= 10; --서브쿼리
4) like 검색
WHERE ename LIKE '%A%'; --단일 검색
WHERE REGEXP_LIKE(TEXT, 'Word1|Word2|Word3') -- 다중 검색 '단어|단어|단어'
5) UNION
SELECT deptno FROM dept
(UNION, UNION ALL, INTERSECT, MINUS)
SELECT deptno FROM emp;
UNION 합집합(중복 제거)
UNOIN ALL 합집합(중복 포함)
INTERSECT 교집합(두 행중 공통된 행만 반환)
MINUS 차집합(두번째 테이블에 존재하지 않는 첫번째 테이블의 행을 반환)
6) 정렬 ORDER BY