![](https://blog.kakaocdn.net/dn/CKT9B/btsJDwBzKel/udiPbftvE3qzXBcr2MxU3k/img.png)
![](https://blog.kakaocdn.net/dn/bbz8GR/btsJDUa8pnN/tU5cr8ptkzlgCuIhTP6uDK/img.png)
![](https://blog.kakaocdn.net/dn/bsrKIM/btsJD0a88QI/TawSDj5L0qGU8HrhkK9l3k/img.png)
![](https://blog.kakaocdn.net/dn/VVV6S/btsJEOnEwcu/rtB02g6praDHUIF0nd9d31/img.png)
![](https://blog.kakaocdn.net/dn/dehjK1/btsJDpW3QNV/iKZkQuJE91EQOj4aKRqvak/img.png)
![](https://blog.kakaocdn.net/dn/pSPUA/btsJDSxwUN2/TKncbMcqqU1zjdaAi11ZI1/img.png)
![](https://blog.kakaocdn.net/dn/vxGEN/btsJDNC2ncB/GwuKfhRPAW7BFeetaNGRdk/img.png)
![](https://blog.kakaocdn.net/dn/cda7Uc/btsJEHPD5Iq/tDtUPEtIpKTfgbzSwTXXZK/img.png)
강의에서 하란대로 sql server express edition을 다운받아보았으나, 맥북이라 안됨 ^^
아래처럼 실습 환경 구축해서 진행함..
M2 맥북에서 AZURE SQL 실습환경 구축 (Data Studio+adventureworks.bak)
기본베이스는 https://learn.microsoft.com/ko-kr/sql/samples/adventureworks-install-configure?view=sql-server-ver16&tabs=data-studio#download-backup-files 이거 따라함 Azure Data Studio 설치하기 Azure SQL Server에서 [만들기] 눌러서
peanut159357.tistory.com
![](https://blog.kakaocdn.net/dn/kTEDX/btsJEjO6m4p/HeanahtEve56CHP7WVFvF1/img.png)
![](https://blog.kakaocdn.net/dn/wMUNo/btsJEUnLvAi/Qcdar9nto5y6EoUmi2kqmk/img.png)
![](https://blog.kakaocdn.net/dn/vYCSE/btsJE8TCVpO/GRnkoZPxNPS0NKaNeJKke0/img.png)
![](https://blog.kakaocdn.net/dn/beF8qq/btsJDFk0xP3/neugqW4dKydRagHxBhkRyK/img.png)
![](https://blog.kakaocdn.net/dn/HFflC/btsJFIf1onA/dDeymgZAQwxvkld7fvp5kk/img.png)
![](https://blog.kakaocdn.net/dn/dBUcXX/btsJE8684z7/8pc94lgDD3VXLBRuon8szk/img.png)
![](https://blog.kakaocdn.net/dn/cx1tss/btsJDQfxINO/nDa5hXgttvXeqXu0bSwtO1/img.png)
![](https://blog.kakaocdn.net/dn/rpPy9/btsJD8AbmaH/7Lq8ckUdTBtxRPT3WSHiq0/img.png)
![](https://blog.kakaocdn.net/dn/M65xM/btsJDvQpILU/Cb2JVmeBUUabHk7zQ7lKb1/img.png)
![](https://blog.kakaocdn.net/dn/t0XE8/btsJDVOFoqw/If7mF06B7KPq0bcsXGvqwK/img.png)
![](https://blog.kakaocdn.net/dn/B73N9/btsJE9ydwaq/Isr5FLexDdkwFQxoHtjNF0/img.png)
![](https://blog.kakaocdn.net/dn/lUzEt/btsJDYqSVZ2/ZtvKeiwthv3c6gZ9rQjD0k/img.png)
![](https://blog.kakaocdn.net/dn/3rWCX/btsJE9rsDTN/JQkr65eUS3JuES2AKTHZE0/img.png)
![](https://blog.kakaocdn.net/dn/bJXO1M/btsJFE5M0nu/FTxT8WK3tkiHXQW1rYbeH1/img.png)
![](https://blog.kakaocdn.net/dn/qnpRY/btsJFxTbU44/OYilemW6EsIbAoXunDf9vk/img.png)
![](https://blog.kakaocdn.net/dn/NT4NS/btsJEQ6KV62/x9eswMxeSRafgsJ1qrRkX1/img.png)
![](https://blog.kakaocdn.net/dn/cUg7xL/btsJFtpS92F/Bj9EVR72ksKKtk8MSxdd9k/img.png)
![](https://blog.kakaocdn.net/dn/vCiz9/btsJEjVPJZv/d6KDOIxm49WFBVYXXhNG00/img.png)
ㄴ or 를 대체해서 쓰는게 in / 100,200,300이 아닌경우 를 솎아낼때 쓰는용도로 유용 (실무에서 많이 쓰임)
![](https://blog.kakaocdn.net/dn/c76a0G/btsJEjVP0Ik/Yrkj8xqYuXiHdA325HNNd1/img.png)
![](https://blog.kakaocdn.net/dn/oOBSq/btsJDV2jsxw/Kv2pKeb1ksMdJzx0CSyLDk/img.png)
![](https://blog.kakaocdn.net/dn/xaQFO/btsJFJ0kJX0/jwTXCNfj9XDjjKraySkQp0/img.png)
![](https://blog.kakaocdn.net/dn/ckYVih/btsJE02yHxV/EgzN8FrWbgycY4xXcIdWV1/img.png)
-- LEFT(X1,X2) / RIGHT(X1,X2)
SELECT [ModifiedData] LEFT([ModifiedData,10]) AS D_DATE, RIGHT([ModifiedData,12]) AS D_TIME FROM [Sales][Customer]
문자열을 왼쪽에서 몇자까지만 보여주겠다 (왼쪽은 날짜만 나오게, 오른쪽은 시간만 나오게 조정 (as는 새로운 컬럼으로 만들어서 보여줌)
--SUBSTRING(x1,x2,x3) x1는 대상문자열, x2는 시작, x3은 종료
SELECT SUBSTRING('MS SQL DATABASE MANAGEMENT STUDIO',8,8) AS D_STRING
위에서 너무 기니까 LEFT+RIGHT를 합친게 SUBSTRING
-- len()
SELECT LEN([AccountNumber]) FROM [Sales].[Customer]
-- COLUMN별로 몇개 길이를 가지고 있는지 출력해준다
--REPLACE(x1,x2,x3) x1대사문자,x2지칭하는문자열, x3바꿔줄문자열
SELECT 'SQL IS SO DIFFICULT', REPLACE('SQL IS SO DIFFICULT', 'DIFFICULT','EASY') AS D_REP
-- SYSDATETIME(), GETDATE()
SELECT GETDATE() AS T_DATE
-- YEAR(X1), MONTH(X1), DAY(X1)
YEAR(GETDATE()) AS T_Y, MONTH(GETDATE()) AS T_M,DAY(GETDATE()) AS T_D
-- DATEPART(x1,x2)
DATEPART(YY.GETDATE()) AS T_Y, DATEPART(MM.GETDATE()) AS T_M,
DATEPART(HH.GETDATE()) AS T_H, DATEPART(II.GETDATE()) AS T_I, DATEPART(SS.GETDATE()) AS T_S,
SELECT * FROM [Purchasing].[PurchaseOrderDetail]
WHERE DATEPART(YY,ModifiedDate)=2014 AND DATEPART(MM,ModifiedDate)=1
-- DATEDIFF(x1,x2,x3) 두개사이의 간격 구하는것
SELET DATEDIFF(YY, '2020-01-01', GETDATE()) AS D_Y
-- OUTPUT = 2
SELECT DATEDIFF(YY, BirthDate, GETDATE()) AS D_AGE FROM [HumanResource].[Employee]
-- 위의 예제는 직원들 나이구하는것
-- DATEADD(x1,x2,x3) x1대상, x2가 -3이면 3년을 뺴라는소리, x3은 now
SELECT DATEPART(W, DATEADD(DD,1000, '2020-01-01')) AS A_W
-- 위에는 요일을 출력하라는 뜻으로 6이 출력됨 (월요일이 1)
<집계처리>
- STDEV 표준편차
- VAR 분산
- SUM 누적합계
- AVG 평균
- COUNT 총개수
SELECT VendorID, Count(VendorID) AS CC
FROM [Purchasing].[PurchaseOrderHeadr]
WHERE VendorID>=1500
GROUP BY VendorID
ORDER BY COUNT(VenderID) DESC
-- 순서에 유념
SELECT DATEPART(YY, OrderDate) AS A_Y, COUNT(DATEPART(YY, OrderDate)) AS CC
FROM [Purchasing].[PurchaseOrderHeader]
GROUP BY DATEPART(YY, OrderDate)
-- 년도만 보고, 년도별로 그룹핑해서 몇개인지 알아보려는 용도
-- SELECT Color, ListPrice FROM [Production].[Product]
-- WHERE Color IS NOT NULL
-- GROUP BY Color
SELECT Color, AVG(ListPrice) AS A_V FROM [Production].[Product]
WHERE Color IS NOT NULL
GROUP BY Color
HAVING AVG(ListPrice)>10
중요) 집계가 이뤄지고난 후에 값들은 having 을 통해 지정되어야함
![](https://blog.kakaocdn.net/dn/cnSzxc/btsJG3TrdNB/SGNrdvOv2irmPgCl0HirH1/img.png)
![](https://blog.kakaocdn.net/dn/cyvVVx/btsJHRybAGa/RggK6LiShSxX5ImopkZ0G0/img.png)
IN-LINE VEIW
![](https://blog.kakaocdn.net/dn/cRMbHJ/btsJHToYWEb/XdzVYMgQtak2jC15AAwPS0/img.png)
-- SELECT Color, AVG(ListPrice) AS A_V FROM [Production].[Product]
-- WHERE Color IS NOT NULL
-- GROUP BY Color
-- HAVING AVG(ListPrice)>10
-- 이걸 아래 인라인뷰를 사용해서 똑같이 만들어보자
SELECT * FROM
(SELECT Color, AVG(ListPrice) AS A_V FROM [Production].[Product]
WHERE Color IS NOT NULL
GROUP BY Color) AS TEMP_T
WHERE A_V>10
![](https://blog.kakaocdn.net/dn/dDnOv4/btsJHBa3bdi/wDr44jAZtn18I1w1KN2zmK/img.png)
SUBQEURY
![](https://blog.kakaocdn.net/dn/smHrU/btsJIQk1FA9/GU644KvMq71FdlLPk0IWOk/img.jpg)
OUTER JOIN
**인라인 사용
![](https://blog.kakaocdn.net/dn/XZOlO/btsJIPzBYlx/3uKk5yBe8qBimLJa5t22O1/img.jpg)
![](https://blog.kakaocdn.net/dn/dTcKF1/btsJIvg1NOw/6IksKbYQkBEN9FF0nIU9r0/img.jpg)
![](https://blog.kakaocdn.net/dn/u5p0G/btsJI4J6Vfq/RIS5zbIkxjWwobzga6PIYk/img.jpg)
![](https://blog.kakaocdn.net/dn/V6JTz/btsJGxOpKhb/9hHiI83gMZ3DfpRsmAhT7k/img.jpg)
INNER JOIN
![](https://blog.kakaocdn.net/dn/bJtTOm/btsJI2MiWmK/4Bt7oKjrX90MO1XNSMjFyk/img.jpg)
![](https://blog.kakaocdn.net/dn/bGzVFm/btsJHmySEZ0/humfQEN7IlgkAVkK6kidO0/img.jpg)
![](https://blog.kakaocdn.net/dn/cT61Lh/btsJGGYQfO1/SqHMPcCuV5kuB8oa71y891/img.jpg)
![](https://blog.kakaocdn.net/dn/balF8I/btsJIreIJE4/8DbeqMtfTBwBDy6O0wtNS0/img.jpg)
![](https://blog.kakaocdn.net/dn/rXw4G/btsJGMdxJE8/oIb2la19cYKwyxRnTEi9k1/img.jpg)
'<문법>' 카테고리의 다른 글
리눅스 명령어 목록 (0) | 2021.04.17 |
---|