본문 바로가기
  • [성공하는 개발자] - Developer

MSSQL35

[MSSQL] UNPIVOT 함수, 열을 행으로 바꾸기 (가로를 세로로) SQL Server에서 열(칼럼)을 행으로 바꾸기 위해서는 UNPIVOT을 사용하면 된다. 가로의 칼럼을 세로의 행으로 바꾼다고 생각하면 된다. 자주 사용하지는 않지만 개념을 이해하고 있으면 한 번쯤은 필요할 때가 있다. SELECT * FROM ( 대상테이블 or 서브쿼리 ) AS tab UNPIVOT ( 집계값칼럼명 FOR UNPIVOT대상칼럼명 IN ([UNPIVOT할칼럼명] ... ) AS unpvt UNPIVOT 사용법 WITH sal_stat(job, D_10, D_20, D_30) AS ( SELECT 'ANALYST', 0, 6000, 0 UNION ALL SELECT 'CLERK', 1300, 1900, 950 UNION ALL SELECT 'MANAGER', 2450, 2975, 285.. 2023. 4. 4.
[MSSQL] IN 연산자 사용법 (NOT IN, 서브쿼리) SQL Server에서 OR 연산자를 사용하여 여러 개의 값을 비교하는 작업을 IN 연산자를 사용하면 아주 간단하게 쿼리문을 작성할 수 있다. IN 연산자에 입력된 값 중에서 하나라도 일치하는 것이 있으면 리스트에 조회된다. IN 사용법 SELECT * FROM emp WHERE ename IN ('JONES', 'SCOTT', 'MILLER') 영문성명(ename)에 'JONES', 'SCOTT', 'MILLER'가 하나라도 일치하 값이 있으면 조회된다. IN을 사용하면 쿼리가 실행될 때 내부적으로 OR 연산자로 변경되어 실행되므로 아래와 동일한 결과가 조회된다. IN 연산자는 OR 연산자와 동일하게 실행 되므로 인덱스가 있는 칼럼에 사용할 경우 인덱스를 타지 못할 수 있으니 주의해서 사용해야 한다. .. 2022. 11. 28.
[MSSQL] LIKE 연산자 사용법 (NOT LIKE, 정규식) SQL Server에서 특정 문자열이 포함되었는지 검색을 할 때에는 LIKE 연산자를 사용하면 된다. SQL Server에서 LIKE 연산자는 타 데이터베이스와 조금 차이가 있는데 기본 옵션이 대소문자를 구분하지 않는다는 것이다. 그리고 정규식의 일부 기능인 문자 범위 패턴만 검색이 가능하다. REGEXP_LIKE와 같은 정규식 LIKE 함수는 없다. % : 0개 이상의 어떠한 문자열이 존재해도 상관없음 _ : 밑줄(_) 개수 만큰 문자가 존재해야 함 [] : 대괄호([]) 안의 지정된 문자 범위 또는 문자가 존재해야 함 [^] : 대괄호([]) 안의 지정된 문자 범위 또는 문자 외의 문자가 존재해야 함 ■ 기본 사용법 (LIKE, NOT LIKE, 대소문자 구분) SELECT * FROM Languag.. 2022. 11. 14.
[MSSQL] BETWEEN 날짜 범위 검색 방법 (0.99999) SQL Server에서 범위를 검색할 때는 BETWEEN 연산자를 사용할 수 있다. BETWEEN 연산자는 부등호(>=, =, =), 같거나 작다(), 크다( 2022. 11. 14.