PIVOT 구문은 ROW로 출력된 결과를 COLUMN으로 변환시키는 역할을 한다. 예를 들어, 아래 쿼리는 연도별, 주문ID별, 주문수량의 합계를 출력한다. 결과를 보면 주문ID별로 2011, 2012, 2013, 2014 이렇게 4개의 ROW로 출력되어 한 눈에 확인이 어려운 느낌이다. SELECT CONVERT(VARCHAR(4), DueDate, 112) [DueYEAR] , LEFT(PurchaseOrderID,1) [PurchaseOrderID] , SUM(OrderQty) [OrderQty] FROM [AdventureWorks2014].[Purchasing].[PurchaseOrderDetail] GROUP BY CONVERT(VARCHAR(4), DueDate, 112) , LEFT(Pur..
MERGE 구문은 INSERT / UPDATE / DELETE 조건을 한 번에 설정할 수 있다. 아래와 같이 기본 데이터가 존재한다. MERGE 구문을 사용하여 여러 조건의 쿼리가 가능하다. NAME = 'KEN'이라는 사람이 있을 경우 ADDR = 'Paris'로 업데이트 한다. 만약 일치하는 사람이 없을 경우 ('KEN', 20, 'Paris') 이라는 새로운 값을 입력한다. MERGE INTO UserTbl USING (SELECT 1 AS TEMP) TEMP ON (NAME = 'KEN') WHEN MATCHED THEN UPDATE SET ADDR = 'Paris' WHEN NOT MATCHED BY TARGET THEN INSERT (NAME, AGE, ADDR) VALUES ('KEN', 2..
테이블에 데이터를 입력한 후 OUTPUT 값을 리턴받을 수 있다. 아래처럼 테이블을 생성하고 데이터를 INSERT할 때 OUTPUT 구문을 사용하여 USERID를 리턴받도록 하였다. USE UserLabs GO /* DROP TABLE UserTbl */ CREATE TABLE UserTbl ( USERID INT IDENTITY, NAME VARCHAR(10), AGE INT, ADDR VARCHAR(20) ) GO INSERT INTO UserTbl (NAME, AGE, ADDR) OUTPUT inserted.USERID VALUES ('Ken', '20', 'Seattle'); INSERT INTO UserTbl (NAME, AGE, ADDR) OUTPUT inserted.USERID VALUES ..
SELECT * FROM UserTblA EXCEPT SELECT * FROM UserTblB UNION, UNION ALL, INTERSECT, EXCEPT 4가지 연산은 집합으로 이해하면 편하다. 아래처럼 2개의 테이블이 있고 각각의 값들이 있다. UserTblA - 1, 2, 3 UserTblB - 1, 2, 4 UNION의 경우에는 두 테이블의 데이터를 모두 합한 후 중복을 제거한 유일한 값을 결과로 출력한다. 두 테이블의 데이터를 모두 합하면 [1, 2, 3, 1, 2, 4] 이고 중복을 제거한 [1, 2, 3, 4] 가 출력된다. SELECT * FROM UserTblA UNION SELECT * FROM UserTblB UNON ALL의 경우에는 두 테이블의 데이터를 모두 합하는데 중복을 제..
- Total
- Today
- Yesterday
- python3
- SQL Server
- 넥스트BT
- 대원화성
- 해커랭크
- HK이노엔
- python
- 몰누피라비르
- string
- MS SQL Server
- MSSQL
- 경구치료제
- 동국알앤에스
- mysql
- tensorflow
- 분석탭
- 미중무역전쟁
- 매매일지
- list
- 리비안
- 테슬라
- 에코캡
- TSQL
- hackerrank
- Weather Observation Station
- insert
- DATABASE
- 넷플릭스
- Tableau
- 코로나19
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |