SQL(20)
-
SQL Join
이번글은 Join에대해서 설명하려고 합니다. 데이터베이스를 운영하거나 분석하는 과정에서 여러 테이블 간의 데이터를 결합하는 작업은 매우 빈번하게 발생합니다. MSSQL에서 제공하는 JOIN 기능은 이런 작업을 손쉽게 해주며, 올바르게 사용하면 복잡한 데이터 관계를 간결하게 표현할 수 있습니다. 이 글에서는 MSSQL에서 사용 가능한 다양한 JOIN 유형과 각각의 특징, 사용 예제, 그리고 성능 최적화 팁까지 상세히 살펴보겠습니다.1. JOIN의 기본 개념JOIN은 두 개 이상의 테이블에서 공통된 컬럼을 기준으로 데이터를 결합하는 SQL 명령어입니다.예를 들어, 고객 정보가 담긴 테이블과 고객의 주문 정보가 담긴 테이블이 있을 때, 두 테이블을 JOIN하여 특정 고객의 주문 내역을 한 번에 조회할 수 있습..
2025.02.20 -
MSSQL - Optimizer(옵티마이저)
MSSQL에서 가장 중요한 옵티마이저에 대해서 이야기하려고합니다. MSSQL 옵티마이저란?MSSQL 옵티마이저(Query Optimizer)는 Microsoft SQL Server의 핵심 구성 요소 중 하나로, 사용자가 작성한 SQL 쿼리를 최적의 실행 계획(Execution Plan) 으로 변환하여 데이터베이스에 대한 효율적인 접근을 가능하게 합니다. 간단히 말해, “어떤 방법으로 쿼리를 실행할지 결정하는 뇌” 역할을 수행합니다.MSSQL 옵티마이저의 동작 원리SQL Server에서 쿼리가 실행될 때, 옵티마이저는 다음과 같은 과정을 거칩니다:쿼리 파싱 (Parsing):SQL 문이 구문 분석되어 문법적 오류가 없는지 확인한 후, 내부 표현(파스 트리; Parse Tree)로 변환됩니다.쿼리 재작성 (..
2025.02.17 -
MS-SQL - 반올림(ROUND), 올림(CEILING), 내림(FLOOR)
안녕하세요. SQL Server의 반올림, 올림, 내림 함수에 대해 공유드립니다. 데이터베이스를 다루다 보면 숫자 데이터를 처리하는 과정에서 반올림, 올림, 내림이 필요할 때가 많습니다. 이번 포스팅에서는 SQL Server에서 제공하는 ROUND, CEILING, FLOOR 함수에 대해 자세히 알아보겠습니다.SQL Server에서는 숫자를 처리할 때 다양한 함수들을 제공합니다. 그 중에서도 반올림, 올림, 내림 함수는 숫자를 원하는 형태로 변환하는 데 매우 유용합니다. 이 함수들은 각각의 목적에 맞게 사용되며, 데이터의 정확성을 높이는 데 기여합니다.ROUND 함수의 사용법ROUND 함수는 주어진 숫자를 지정한 자릿수로 반올림하는 데 사용됩니다. 기본적인 문법은 다음과 같습니다:ROUND ( nume..
2025.02.17 -
[ORACLE]Delete와 Truncate
오라클에서 DELETE 와 TRUNCATE의 차이를 진행하려고합니다. DELETE 트랜잭션: DELETE는 트랜잭션 내에서 실행되며, COMMIT되기 전까지 롤백할 수 있습니다. 이는 데이터를 삭제하기 전에 변경사항을 검토하고, 필요시 되돌릴 수 있다는 것을 의미합니다. 조건적 삭제: DELETE 명령어를 사용하면 WHERE 절을 통해 특정 조건에 맞는 행만 삭제할 수 있습니다. 이는 선택적인 데이터 삭제를 가능하게 합니다. 성능: 대량의 데이터를 삭제할 경우, DELETE는 TRUNCATE에 비해 더 많은 시간과 시스템 자원을 소모할 수 있습니다. 각 삭제된 행에 대해 롤백 정보를 유지해야 하기 때문입니다. 트리거: DELETE 연산은 테이블에 정의된 DELETE 트리거를 활성화할 수 있습니다. TRU..
2024.03.13 -
[MSSQL]테이블 용량 확인
테이블 용량을 확인 하기 위해 해당 쿼리를 이용하여 테이블의 용량 상태를 확인 할 수 있습니다. 해당 테이블의 용량에 따라 정리를 하여 유지보수 하는 것이 좋습니다. SELECT CONVERT(VARCHAR(30), MIN(T02.NAME)) AS TABLE_NM , CONVERT(INT, LTRIM(STR(SUM(reserved) * 8.192 / 1024., 15, 0))) AS TABLE_SIZE , 'MB' AS SIZE_UNIT FROM SYSINDEXES T01 INNER JOIN SYSOBJECTS T02 on (T01.ID = T02.ID) WHERE 1=1 AND T01.INDID IN (0, 1, 255) AND T02.XTYPE = 'U' GROUP BY T01.ID ORDER BY ..
2024.03.13 -
[SQL] Join
이번 포스팅은 SQL에서 Join에 대하여 설명하려고 합니다. Join은 두 개 이상의 테이블에서 열(column)을 기준으로 데이터를 결합하는 데 사용되는 방법입니다. 여러 종류의 Join이 있으며, 각각은 특정한 사용 사례에 맞게 설계되었습니다. 기본적인 Join의 종류에는 INNER JOIN, LEFT JOIN (LEFT OUTER JOIN), RIGHT JOIN (RIGHT OUTER JOIN), FULL JOIN (FULL OUTER JOIN) 등이 있습니다. 1. INNER JOIN 두 테이블의 교집합만을 결과로 반환합니다. 즉, 양쪽 테이블 모두에서 일치하는 행만 포함됩니다. SELECT T01.ORDER_ID, T02.CUSTOMER_ID FROM ORDERS T01 INNER JOIN C..
2024.03.06