본문 바로가기
반응형

SQL186

오라클 조회 시 NULL 값 기준으로 정렬방법 오라클에서 특정 컬럼의 값이 NULL인 값을 먼저/나중에 정렬해 주려면 ORDER BY 컬럼명 NULLS FIRST/LAST를 사용해주면 되는데 위 두 스크린샷을 보면 NULLS FIRST를 사용한 경우 NULL인 값이 먼저 정렬되고 NULLS LAST를 사용한 경우 NULL인 값이 나중에 정렬되는 것이 보인다 예제에 사용한 쿼리는 아래와 같다 -- NULL 먼저 나오게 정렬 SELECT * FROM EMP ORDER BY COMM NULLS FIRST -- NULL 나중에 나오게 정렬 SELECT * FROM EMP ORDER BY COMM NULLS LAST 2021. 5. 21.
오라클 WM_CONCAT / LISTAGG 으로 여러 행을 한 행으로 합치는 방법 오라클에서 WM_CONCAT / LISTAGG를 사용해 여러 행의 내용을 한 행으로 합쳐줄 수 있는데 이미지에 사용한 예제들은 타이핑할 필요 없이 스크롤을 쭉 내리면 쿼리를 복사 붙여넣기 해서 사용해주면 된다 먼저 WM_CONCAT의 경우에는 WM_CONCAT(컬럼명) 을 사용해주면 테이블 여러 행의 값이 한 컬럼 안으로 들어온다 중복 제거를 위해서는 WM_CONCAT(DISTINCT 컬럼명) 으로 사용해주면 된다 WM_CONCAT의 경우에는 구분자가 ,로 고정이기 때문에 구분자를 콤마에서 다른 것으로 바꿔주려면 REPLACE(WM_CONCAT(컬럼명), ',', '구분자'); 으로 사용해주면 된다 다음으로는 LISTAGG를 사용하는 경우인데 WM_CONCAT은 정렬해서 합치기가 불가능하고 구분자 변경 .. 2021. 5. 19.
MySQL 컬럼명 Alias 띄어쓰기 괄호 사용 안될경우 해결방법 MySQL에서 Alias를 사용하려고 할 경우 위와 같이 띄어쓰기를 사용하거나 혹은 괄호를 사용할 경우에는 아래와 같은 Syntax 에러가 발생하는 것이 보이는데 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(TEST) LIMIT 0, 200' at line 1 해결방법은 매우 간단하다 Alias '값' 으로 컬럼명을 정해주면 띄어쓰기나 괄호를 사용해도 에러 없이 사용이 가능하다 2021. 5. 17.
MySQL 테이블 사이즈 확인용 쿼리 MySQL에서 테이블 사이즈 확인 시 사용하는 쿼리인데 하단의 WHERE 부분에서 스키마명 / 테이블명만 바꿔 사용해주면 된다 DATA_LENGTH는 테이블 안에 들어있는 전체 데이터 INDEX_LENGTH는 테이블 안의 인덱스 데이터 크기를 말하며 DATA_LENGTH/INDEX_LENGTH를 합친 값이 해당 테이블이 실제 점유하는 데이터 사이즈가 되겠다 위 이미지에 사용한 쿼리는 아래 내용을 복사 붙여넣기 해서 사용해주면 된다 SELECT TABLE_SCHEMA -- 스키마명 , TABLE_NAME -- 테이블명 , TABLE_COMMENT -- 테이블 코멘트 , ROUND((DATA_LENGTH+INDEX_LENGTH)/(1024*1024),2) AS 'TB_IND_SIZE(MB)' -- 데이터 +.. 2021. 5. 17.
MySQL GROUP_CONCAT 을 이용해 여러 행의 내용 합치는 방법 MySQL에서 GROUP_CONCAT을 이용해 여러 행의 데이터를 한 행에 합쳐서 보여줄 수 있는데 예제를 보면 테이블의 NAME 컬럼 안에는 '수철' 과 '철수' 가 들어있는 것이 보이는데 GROUP_CONCAT(컬럼명) 을 사용해주면 해당 테이블 컬럼 데이터를 한 열에 모아주는 것이 보인다 다음은 여러 행을 합칠 경우 붙는 구분자인 쉼표(, comma)인데 기본값이 , 이기 때문에 공백이나 다른 값으로 주고 싶다면 GROUP_CONCAT(컬럼명 SEPARATOR '값'); 을 통해 원하는 값으로 설정이 가능하다 마지막으로는 GROUP_CONCAT 시 ORDER BY 를 사용하는 경우인데 GROUP_CONCAT(컬럼명 ORDER BY 값 ASC/DESC); 이렇게 사용하면 오름차순/내림차순 기준으로 합.. 2021. 5. 14.
MySQL Replace 사용방법 정리(여러개 변경할 경우 포함) MySQL에서 Replace 함수 사용방법은 REPLACE(값_혹은_컬럼, '변경할_값', '뭘로_변경할지'); 이렇게 사용해주면 되는데 예제를 보면 NAME 컬럼에서 '수'인 값이 모두 'REPLACE'로 변경되는 것이 보인다 다음은 REPLACE를 여러번 사용하는 경우인데 A는 B / B는 C 식으로 한번에 여러개를 변경해주고 싶을 경우 REPLACE 함수는 한번에 하나만 지원하기 때문에 REPLACE 후 REPLACE를 다시 사용해 주는 식으로 사용해야 한다 위 예제에서는 NAME 컬럼에서 '수'인 값을 '1' 로 변경한 후 다시 REPLACE를 사용해 '1'인 값을 '2'로 변경하는 것이 보인다 마지막으로 예제에 사용한 쿼리는 다음과 같다 -- REPLACE 사용 SELECT NAME, REPLA.. 2021. 5. 14.

반응형