반응형 SQL186 오라클 ROWNUM 개념부터 활용까지 오라클에서 조회 컬럼에 ROWNUM을 추가해서 조회된 행이 몇번째 행인지 확인할 수 있는데 ROWNUM은 테이블에 추가하지 않아도 사용이 가능하다 다만 ROWNUM을 추가한 상태에서 ORDER BY로 ROWNUM이 아닌 다른 컬럼을 지정 시 ROWNUM이 엉망이 되는 것이 보이는데 이런 현상을 막기 위해서는 서브쿼리 안에서 ORDER BY를 한 결과를 가지고 ROWNUM을 걸어줘야 한다 오라클 서브쿼리 사용방법 및 예제 오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT, FROM, WHERE 중 어디에든 올 수 있다 위 스크린샷과 같이 SELECT 쪽에 서브쿼리가 올 경우 스칼라 서브쿼리(Scalar Subqu.. wakestand.tistory.com 이제.. 2020. 4. 19. 오라클 OVER() 개념부터 사용법까지 오라클에서 OVER() 를 사용하면 GROUP BY나 서브쿼리를 사용하지 않고 분석 함수(SUM, MAX, COUNT)과 집계 함수(GROUP BY, ORDER BY)를 사용할 수 있는데 집계 함수 사용 시 서브쿼리가 지나치게 길어지는 것을 고려해보면 OVER를 사용해 쿼리 길이를 획기적으로 줄일 수 있다 OVER()는 분석_함수() OVER(PARTITION BY 컬럼 / ORDER BY 컬럼 / 세부 분할 기준) 으로 이루어지는데 여기서 분석 함수와 OVER()는 필수지만 OVER 안의 내용들은 필요할 경우에만 작성해주면 된다 (RANK, DENSE_RANK는 ORDER BY 필수) 분석 함수에는 COUNT(컬럼) - 갯수 SUM(컬럼) - 합계 AVG(컬럼) - 평균 MAX(컬럼) - 최대값 MIN.. 2020. 4. 18. 오라클 CONCAT, ||를 이용한 문자열 합치기 및 예제 오라클에서 CONCAT, ||를 사용해 문자열을 합칠 수 있는데 CONCAT은 CONCAT(값, 값) 이렇게 사용하고 2개 이상을 합칠 경우에는 ||를 사용해주면 되는데 값 || 값 || 값 이렇게 합쳐주면 된다 CONCAT과 || 중 속도는 ||가 약간 더 빠른데 100만건을 붙일 때 ||는 143초 CONCAT은 144초 정도의 차이이므로 편한 쪽으로 사용해주면 된다 마지막으로 예제에 사용한 코드는 아래와 같다 SELECT CONCAT('A', 'B') CONCAT_ATTACH1 ,CONCAT(1, 2) CONCAT_ATTACH2 ,'A' || 'B' || 'C' ATTACH3 , 1 || 2 || 3 || 4 ATTACH4 FROM DUAL 2020. 3. 30. 오라클 DISTINCT를 이용한 중복제거 예제 및 사용방법 해당 테이블에서 DISTINCT를 이용해서 중복을 제거한 JOB을 가져오려고 하는데 중복을 제거하고 값들을 묶는 방식은 GROUP BY를 이용해도 가능하고 오라클 GROUP BY, HAVING 예제 및 사용방법 오라클에서는 GROUP BY를 사용해서 테이블 내의 값을 그룹으로 묶을 수 있는데 위 스크린샷의 테이블에서 JOB별로 평균 SAL을 묶어서 조회를 하려고 한다 묶을 기준이 되는 컬럼을 GROUP BY 컬럼을 사용해서 묶.. wakestand.tistory.com 속도도 GROUP BY가 4배정도 빠르다 하지만 데이터가 적을 경우에는 DISTINCT를 쓰나 GROUP BY를 쓰나 큰 차이가 없다 사용방법은 SELECT DISTINCT 컬럼 FROM 테이블 이런 식으로 사용해주면 중복을 제거하고 조회.. 2020. 3. 28. 오라클 GROUP BY, HAVING 예제 및 사용방법 오라클에서는 GROUP BY를 사용해서 테이블 내의 값을 그룹으로 묶을 수 있는데 위 스크린샷의 테이블에서 JOB별로 평균 SAL을 묶어서 조회를 하려고 한다 묶을 기준이 되는 컬럼을 GROUP BY 컬럼을 사용해서 묶게 되며 GROUP BY JOB으로 묶은 후에는 묶은 값을 기준으로만 가져올 수 있다 따라서 대부분은 묶은 후에 합계나 평균을 구하는 식으로 사용되게 된다 다음으로는 HAVING인데 GROUP BY를 사용해서 값을 묶은 뒤에는 묶은 내용에 WHERE을 사용할 수 없기 때문에 WHERE 대신 HAVING을 사용하게 되는데 GROUP BY 하단에 HAVING 조건 이런 식으로 사용하게 된다 위 예를 보면 묶은 내용 중에서 AVG(컬럼)이 > 2500인 내용만 가져온다는 내용이다 마지막으로 예제.. 2020. 3. 28. 오라클 SELECT 한 내용 INSERT 방법 오라클에서 조회한 내용을 바로 테이블에 삽입하려고 하는데 SELECT 한 후에 바로 INSERT가 가능하다 방법은 다음과 같은데 INSERT INTO 테이블명(컬럼명) SELECT 컬럼명 FROM 테이블명 을 통해 테이블에서 조회한 내용을 바로 다른 테이블에 넣어줄 수 있다 예제에 사용한 쿼리는 다음과 같다 INSERT INTO TB2(NAME, AGE) -- TB2의 NAME, AGE로 삽입 SELECT NAME, AGE -- TB1의 NAME이 이영희인 NAME, AGE를 FROM TB1 WHERE NAME = '이영희' 2020. 3. 24. 이전 1 ··· 19 20 21 22 23 24 25 ··· 31 다음 반응형