sql 기초 4

[MSSQL] 집합 연산자 (UNION, INTERSECT, EXCEPT) 합집합, 교집합, 차집합

합집합 집합 이론에서 두 집합 간의 모든 요소를 포함하는 집합이다. (합집합의 개념) T-SQL에서 UNION 연산자는 두 입력 쿼리의 결과를 하나로 결합한다. 두 가지 형태의 UNION 연산자를 지원하는데, UNION ALL과 UNION(암시적으로 DISTINCT 처리) 이다. UNION ALL UNION ALL 멀티 셋 연산자는 두 입력 쿼리로부터 만들어지는 어떠한 행이라도 모두 결과에 포함 시켜 반환한다. 이 때 행을 비교하거나 중복을 제거하는 등의 작업을 수행하지 않는다. Query 1이 m개 행을 반환하고 Query 2가 n개 행을 반환한다면 결과 쿼리는 m+n개의 행을 반환하게 된다. UNION UNION 집합 연산자는 두 쿼리의 결과를 결합한 다음 중복을 제거한다. 하나의 행이 양쪽 입력 집..

IT 이야기/DB 2022.10.10

[MSSQL] 중복 제거 조회 (distinct, group by)

SELECT문으로 데이터를 조회 시 중복된 값이 조회되는 경우가 있습니다. 중복된 값을 제거하고 조회할 수 있는 방법에 대해서 스크립트를 통해 소개해드리도록 하겠습니다. 우선 테스트할 테이블을 조회 합니다. SELECT country FROM dbo.CUST_TABLE 국가(country) 컬럼에 중복된 값들이 조회되는 것을 확인할 수 있습니다. 그럼 이제 중복된 값들을 제거 해보겠습니다. Distinct distinct 구문은 지정된 집합의 중복 튜플을 제거해서 결과 집합을 반환합니다. SELECT distinct country FROM dbo.CUST_TABLE 쿼리 수행 시 중복 튜플이었던 denmark 와 germany가 한 개씩만 남고 사라지는 것을 확인할 수 있습니다. 이번에는 다른 방법으로 ..

IT 이야기/DB 2022.09.16

[MSSQL] 문자열 자르기 (SUBSTRING, RIGHT, LEFT)

SQL Server에서는 문자열 잘라내기 기능을 제공합니다. 테스트를 위해 테이블을 생성합니다. CREATE TABLE dbo.PROD_TABLE ( prod_cd varchar(10) ) INSERT INTO PROD_TABLE(prod_cd) VALUES ('DP0312'); INSERT INTO PROD_TABLE(prod_cd) VALUES ('AP0312T'); INSERT INTO PROD_TABLE(prod_cd) VALUES ('AP0312C'); SUBSTRING 문자열에 대해 시작 위치 위치부터 지정된 만큼의 문자를 잘라내어 출력할 수 있습니다. -- 첫번째 문자부터 문자 2개를 잘라낸다. SELECT SUBSTRING(prod_cd, 1, 2) AS cd1 FROM PROD_TABLE..

IT 이야기/DB 2022.09.13

[MSSQL] EXISTS문 사용법 및 예제

안녕하세요. 마술공입니다. MS-SQL에서 EXISTS문을 사용하는 스크립트를 소개해드리겠습니다. 스크립트를 직접 보면 직관적으로 의미를 파악할 수 있으니 작업에 참고하시기 바랍니다. EXISTS 문은 서브 쿼리를 입력받아 하나의 행이라도 반환하면 TRUE를 그렇지 않으면 FALSE를 반환합니다. 그렇다면 어떤 경우에 EXISTS 문을 활용할 수 있을까요? 우선 테스트에 사용할 테이블을 만들겠습니다. 예제 스크립트 (테이블 생성) CREATE TABLE dbo.ORDER_TABLE ( orderid varchar(10) , orderdate datetime , empid varchar(10) , custid varchar(10) ) INSERT INTO ORDER_TABLE(orderid, orderda..

IT 이야기/DB 2022.08.31
반응형