DB/쿼리2023. 11. 25. 18:10MSSQL 검색/업무에 도움되는 쿼리

-- 실행중인쿼리조회SELECT sqltext.TEXT, req.session_id, req.status, req.command, req.cpu_time, req.total_elapsed_time FROM sys.dm_exec_requests req CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext--프로시저내용조회EXEC UP_SP_HELP_TABLE--테이블 정보 보기EXEC UP_SP_HELP_TABLE T1-- 실행중인 쿼리 보기SELECT sqltext.TEXT, req.session_id, req.status, req.command, req.cpu_time, req.total_elapsed_time FROM sys.dm_exec_requests..

DB/쿼리2023. 10. 10. 16:05파티션

🍩파티션ROW_NUMBER() OVER(PARTITION BY MP.ORGN_CD, MP.BCD_CD ORDER BY ISNULL(MP.MDATE, MP.CDATE) DESC) 먼저, PARTITION BY MP.ORGN_CD, MP.BCD_CD 부분에 따라 결과 집합이 파티션(그룹)으로 분할됩니다.이 파티션은 MP.ORGN_CD와 MP.BCD_CD 값이 동일한 행들의 그룹을 형성합니다.다음으로, ORDER BY ISNULL(MP.MDATE, MP.CDATE) DESC 부분에 따라 각 파티션 내에서 행들이 정렬됩니다. 정렬은 MP.MDATE 값을 기준으로 하며, 만약 MP.MDATE가 NULL이면 MP.CDATE 값을 사용합니다. 정렬은 내림차순으로 이루어집니다.각 파티션 내에서 정렬된 순서에 따라 R..

DB/쿼리2023. 10. 10. 16:01STUFF 함수

문자열을 수정하는 데 사용일반적으로 특정 위치부터 문자열을 대체하거나 제거할 때 사용   가정: "Hello, World!" 라는 문자열을 사용합니다.DECLARE @text NVARCHAR(100) = 'Hello, World!'  1. 문자열 대체-- 문자열 "World"를 "Universe"로 대체SET @text = STUFF(@text, 7, 5, 'Universe')SELECT @text결과: "Hello, Universe!"STUFF(@text, 7, 5, 'Universe')는 문자열 @text의 7번째 위치부터 시작해서 5개의 문자를 'Universe'로 대체합니다.  2. 문자열 제거-- 문자열 "Universe!"를 제거SET @text = STUFF(@text, 7, 8, '')SE..

DB/쿼리2023. 10. 5. 16:38WITH 절

WITH 임시테이블로 사용됨 SELECT * FROM CTE_Name 으로 쓰면된다 SQL 쿼리에서 WITH 절은 일반적으로 공통 테이블 식(Common Table Expression 또는 CTE)을 정의하기 위해 사용 CTE는 쿼리 내에서 임시 테이블처럼 사용되는 이름이 있는 결과 집합을 생성하는 방법 제공 구조 WITH CTE_Name (CTE_Column1, CTE_Column2, ...) AS ( -- CTE 정의를 포함하는 서브쿼리 SELECT ... FROM ... WHERE ... ) 각 요소의 역할 CTE_Name: CTE의 이름을 지정합니다. (CTE_Column1, CTE_Column2, ...): 선택적으로 CTE에 포함될 열(컬럼) 목록을 정의,생략가능 AS: CTE 정의의 시작다...

DB/쿼리2023. 10. 5. 16:27윈도우함수

🍩 윈도우함수 OLAP 함수라고도 한다. OLAP란, OnLine Analytical Processing의 약자로, 데이터베이스를 사용한 실시간(온라인) 데이터 분석처리 윈도우 함수는 이 OLAP 용도로 사용하기 위해 표준 SQL에 추가된 기능 결과 집합의 여러 행에 대한 계산을 수행하는 데 사용 일반적으로 정렬된 데이터에 대해 작동하며, 데이터베이스 질의의 윈도우(또는 창)에 대해 계산을 수행 효율적인 데이터 분석 및 집계 작업을 수행 ROW_NUMBER(): 결과 집합의 각 행에 순서 번호를 할당합니다. 주로 정렬된 결과에서 특정 순서의 행을 선택할 때 사용됩니다. SELECT ROW_NUMBER() OVER(ORDER BY Salary DESC) AS RowNum, EmployeeName, Sala..

DB/쿼리2023. 10. 5. 16:27APPLY

CROSS APPLY → INNER JOIN OUTER APPLY → OUTTER JOIN 그러나, CROSS APPLY와 INNER JOIN, 그리고 OUTER APPLY와 OUTER JOIN은 같은 결과를 반환하지 않습니다. CROSS APPLY vs. INNER JOIN: CROSS APPLY: 왼쪽 테이블의 각 행에 대해 오른쪽 테이블의 서브쿼리를 실행하고, 조건에 맞는 결과를 반환합니다. 이 때, 오른쪽 서브쿼리는 왼쪽 테이블의 각 행에 대해 실행되므로, 왼쪽 테이블의 모든 행에 대한 조인이 발생할 수 있습니다. 따라서, 두 테이블 간의 관계가 매우 밀접하게 형성됩니다. INNER JOIN: 두 테이블 간의 조인 조건에 맞는 행만 반환합니다. INNER JOIN은 두 테이블 간의 관계를 확인하고..

MSSQL 연습
DB/쿼리2023. 9. 13. 09:14MSSQL 연습

--테이블 데이터 값 🍩INSERTINSERT INTO TBL_SH (EMP_NO, AGE, IUSER, IDATE) VALUES ('20', 20, 'TEST', GETDATE());  🍩UPDATEUPDATE TBL_SH SET IUSER = 'TEST5' WHERE IUSER = 'TEST'  🍩DELETEDELETE FROM TBL_SH WHERE EMP_NO = '';  🍩ALTER 열 추가ALTER TABLE TBL_SH ADD CO INT DEFAULT 0;  🍩GROUP BY/*AGE를 기준으로 SEQNO의 값을 집계한다*/SELECT AGE, AVG(SEQNO) AS AVERAGE_SCORE, MAX(SEQNO) AS MAX_SCORE, MIN(SEQNO) AS MIN_SCORE..

image