<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>삶을 사는 에빙이</title>
    <link>https://ybeaning.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 20 Aug 2026 16:29:13 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>에빙빙</managingEditor>
    <image>
      <title>삶을 사는 에빙이</title>
      <url>https://tistory1.daumcdn.net/tistory/3171804/attach/6d1b2fcf6f5d44a98ce63944c98f390f</url>
      <link>https://ybeaning.tistory.com</link>
    </image>
    <item>
      <title>[데이터베이스] SQL 서브 쿼리의 유형 ( IN, NOT IN, EXISTS )</title>
      <link>https://ybeaning.tistory.com/89</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;서브 쿼리는 하나의 SQL문에 포함되는 또 다른 SQL 문으로,&amp;nbsp; 중첩 서브쿼리와 상관 서브 쿼리로 분류 할 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;중첩 서브쿼리&lt;/b&gt;는 &lt;u&gt;단독 실행 가능&lt;/u&gt;한 형태이며,&amp;nbsp; &lt;b&gt;상관 서브쿼리&lt;/b&gt;는 &lt;u&gt;외부 테이블 열 참조가 필요&lt;/u&gt;한 형태이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;서브쿼리는 메인 쿼리의 열을 모두 사용할 수 있지만, 메인 쿼리는 서브 쿼리의 칼럼을 사용할 수 없다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;중첩 서브쿼리는 SELECT절의 비교 연산자에서 많이 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674981069347&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	ProductID
,	UnitPrice
,	AvgPrice = (SELECT UnitPrice FROM dbo.[Order Details]) -- 다중 행 반환
FROM	dbo.[Order Details] As od
WHERE	OrderID &amp;lt;= 10250;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;위 쿼리 예시에서 &lt;span style=&quot;color: #ef6f53;&quot;&gt;SELECT&lt;/span&gt; UnitPrice &lt;span style=&quot;color: #f89009;&quot;&gt;FROM&lt;/span&gt; dbo.[Order Details] 절은 다중 행을 반환하게 되는데, 이 때 SELECT 절에 위치할 경우 값 반환이 불가능하다. 즉, 반드시 하나의 값만 반환이 가능해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;또한 IN (), NOT IN () 과 함께 사용할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;IN&lt;/b&gt;&lt;/span&gt;은 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;비교 연산자 (=)&lt;/span&gt;&lt;/b&gt; 와 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;논리 연산자 (OR)&lt;/b&gt;&lt;/span&gt; 을 결합한 연산자이다.&amp;nbsp; IN 절에 중복값이 존재할 때 자동으로 중복값이 제거 되는 암시적 Distinct 의 의미를 내포한다. NULL 값이 있을 경우, IS NULL과 IS NOT NULL 만 사용 가능하므로 자동으로 제거 된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674981122617&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 집계
SELECT c.CompanyName
FROM dbo.Customers AS c
WHERE CustomerID IN (
			SELECT CustomerID
			FROM dbo.Orders AS o
			GROUP BY o.CustomerID
			HAVING COUNT(*) &amp;gt; 20
			);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;NOT IN ()&lt;/b&gt;&lt;/span&gt;은&lt;span style=&quot;color: #006dd7;&quot;&gt; &lt;b&gt;비교 연산자 (&amp;lt;&amp;gt;)&lt;/b&gt;&lt;/span&gt;와 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;논리 연산자 (AND)&lt;/b&gt;&lt;/span&gt;와 결합한 연산자이다. 따라서 NULL 값이 있을 경우 정합성 문제가 발생 할 수 있기 때문에 NULL 값이 참조되지 않도록 주의 해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674981180012&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	Region, * 
FROM	dbo.Customers
WHERE	Region NOT IN ('SP', 'WA') -- SP와 WA 가 아닌 경우만 추출
;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;만약 NULL 값이 존재할 경우 어떻게 될까?&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674982030802&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 'OK'
WHERE '메로나' NOT IN ('브라보콘', '쌍쌍바', NULL)

	-- 왜 다른가? 어떻게 바뀌는가?
	SELECT 'OK'
	WHERE '메로나' &amp;lt;&amp;gt; '브라보콘'	-- T or F?
		AND '메로나' &amp;lt;&amp;gt; '쌍쌍바'
		AND '메로나' &amp;lt;&amp;gt; NULL	-- T or F?&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;위 쿼리를 실행하면 OK 가 출력 되어야 할 것 같지만 실제 실행을 해 보면 아무것도 출력 되지 않는다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;NULL과 비교를 하는 과정에서 unkwon이 되기 때문이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;상관 서브 쿼리의 경우에는 SELECT 절, WHERE 조건, HAVING 조건, APPLY , EXISTS연산자와 사용하며, 단독으로 실행이 불가능하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674981261201&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
	CustomerID
,	CompanyName = (SELECT CompanyName 
		FROM dbo.Customers AS c
		WHERE c.CustomerID = o.CustomerID) -- 서브쿼리 내 SELECT 만 실행 불가
,	Freight
FROM dbo.Orders AS o
WHERE o.OrderDate &amp;gt;= DATEADD(dd, -7, '19980510');



-- 집계값 결합
SELECT
	CustomerID
,	Freight
,	AvgFreight = (
		SELECT AVG(Freight)
		FROM dbo.Orders AS a
		WHERE a.CustomerID = o.CustomerID
		)
FROM dbo.Orders AS o
WHERE o.OrderDate &amp;gt;= DATEADD(dd, -7, '19980510');&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;EXIST는 부분 검색이 가능한 연산자로, 조건을 만족하는 첫 번째 행을 찾게 되면 더 이상 검색을 하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1674981399639&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT c.CompanyName
FROM dbo.Customers AS c
WHERE c.Country = 'Sweden' 
	AND EXISTS (SELECT 1 FROM dbo.Orders AS o
			WHERE o.CustomerID = c.CustomerID
			AND o.EmployeeID IN (2, 3, 4));&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;EXISTS 절은 다음과 같이 IN을 사용할 수 있다. 하지만 EXISTS는 단독으로 사용 가능하지만, IN의 경우에는 단독으로 사용이 불가능하여 아래와 같은 수정이 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674981615205&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT c.CompanyName
FROM dbo.Customers AS c
WHERE c.Country = 'Sweden' 
      AND c.CustomerID IN (SELECT o.CustomerID FROM dbo.Orders AS o
                       WHERE o.CustomerID = c.CustomerID
                       AND o.EmployeeID IN (2, 3, 4));&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;내부 쿼리에 없는 외부 테이블 열 참조 시, Insert / Update / Delete와 결합 되는 경우 주의 해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>MSSQL</category>
      <category>SQL서브쿼리</category>
      <category>상관서브쿼리</category>
      <category>서브쿼리</category>
      <category>중첩서브쿼리</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/89</guid>
      <comments>https://ybeaning.tistory.com/89#entry89comment</comments>
      <pubDate>Sun, 29 Jan 2023 17:49:48 +0900</pubDate>
    </item>
    <item>
      <title>[데이터베이스] SQL 집합 연산자 (intersect, union, except)</title>
      <link>https://ybeaning.tistory.com/88</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;집합 연산자는 두 개 이상의 테이블에서 조인을 사용하지 않고, 연관된 데이터를 조회하는 방법 중 하나이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SELECT 절의 칼럼 수가 동일하고, 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환이 가능해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;INTERSECT&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;여러 개의 테이블에 대한 교집합이다. (AND)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;INNER JOIN은 중복된 값을 모두 추출하지만 기본적으로 intersect는 중복 값을 하나의 행으로 만든다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;UNION&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;여러 개의 테이블에 대한 합집합으로, 중복된 행은 역시 하나로 만든다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;n(A &amp;cup; B) = n(A) + n(B) - n(A &amp;cap; B)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;UNION ALL&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;여러 개의 테이블에 대한 합집합이지만, 중복된 행은 전부 결과로 추출한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;중복 값이 없다면 UNION과 동일한 결과를 보여주지만, 결과의 정렬 순서는 차이가 있을 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;일반적으로 쿼리 결과가 exclusive 할 때 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Difference (EXCEPT)&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;차집합으로 중복된 행은 하나의 행으로 만든다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;(A - B) = A - (A &amp;cap; B) = (A &amp;cup; B) - B&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;집합 연산자 예제&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1674463875417&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 데이터 준비

IF OBJECT_ID('LeftInput', 'U') IS NOT NULL DROP TABLE dbo.LeftInput;
IF OBJECT_ID('RightInput', 'U') IS NOT NULL DROP TABLE dbo.RightInput;

SELECT * INTO dbo.LeftInput
FROM (VALUES (1), (2), (2), (NULL)) AS dt(value);

SELECT * INTO dbo.RightInput
FROM (VALUES (2), (2), (3), (4), (NULL), (NULL)) AS dt(value);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yz5mq/btrWXiXljfS/vLtR78Xe6ixg7AbTck5hv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yz5mq/btrWXiXljfS/vLtR78Xe6ixg7AbTck5hv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yz5mq/btrWXiXljfS/vLtR78Xe6ixg7AbTck5hv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyz5mq%2FbtrWXiXljfS%2FvLtR78Xe6ixg7AbTck5hv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;455&quot; height=&quot;360&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1674464058613&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 교집합
SELECT ID = Value FROM dbo.LeftInput
INTERSECT
SELECT Value FROM dbo.RightInput;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;먼저 교집합의 결과를 확인하면,&amp;nbsp; 중복 처리가 되어 NULL과 2 각각 하나 만을 결과로 보여준다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1674464193341&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- UNION과 UNION ALL의 차이
SELECT Value FROM dbo.LeftInput
UNION 
SELECT Value FROM dbo.RightInput
;

SELECT Value FROM	dbo.LeftInput
UNION ALL
SELECT Value FROM dbo.RightInput
;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;UNION의 경우 중복 원소는 하나로 처리하지만, UNION ALL은 LeftInput, RightInput 테이블의 값 전부를 그대로 보여준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RGcTs/btrWSu5xqVo/NiZ6TiXmS0tNxTNjqr1jx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RGcTs/btrWSu5xqVo/NiZ6TiXmS0tNxTNjqr1jx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RGcTs/btrWSu5xqVo/NiZ6TiXmS0tNxTNjqr1jx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRGcTs%2FbtrWSu5xqVo%2FNiZ6TiXmS0tNxTNjqr1jx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;421&quot; height=&quot;320&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1674464649989&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 차집합

-- A - B
SELECT Value FROM dbo.LeftInput
EXCEPT
SELECT Value FROM dbo.RightInput

-- B - A
SELECT Value FROM dbo.RightInput
EXCEPT
SELECT Value FROM dbo.LeftInput&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;A - B 의 결과는 1, B - A 의 결과는 3, 4가 출력이 되며, NULL 도 차집합의 원소로 포함되는 것을 알 수 있다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>MSSQL 집합</category>
      <category>SQL except</category>
      <category>SQL INTERSECT</category>
      <category>SQL UNION</category>
      <category>SQL 집합 연산</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/88</guid>
      <comments>https://ybeaning.tistory.com/88#entry88comment</comments>
      <pubDate>Mon, 23 Jan 2023 18:06:55 +0900</pubDate>
    </item>
    <item>
      <title>[데이터베이스] MSSQL 조인 방법, inner join과 outer join 차이</title>
      <link>https://ybeaning.tistory.com/87</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;관계형 데이터베이스에서 &lt;b&gt;&lt;u&gt;조인 (JOIN)&lt;/u&gt;&lt;/b&gt;이란, 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것을 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;데이터베이스에서 테이블은 정규화되어 여러 개의 테이블로 나뉘어 있으며,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이때 필요한 데이터를 결합하여 원하는 데이터를 추출할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;조인에는 여러가지 종류가 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Inner Join =&amp;nbsp; (A &amp;cap; B)&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;A &lt;u&gt;INNER JOIN&lt;/u&gt; B on A.key = B.key&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;결과 집합은 교집합으로 중복을 허용한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;447&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dftIZr/btrWUbRYA6P/x4sflLtquL1YoD9k6TnuA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dftIZr/btrWUbRYA6P/x4sflLtquL1YoD9k6TnuA1/img.png&quot; data-alt=&quot;Inner join&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dftIZr/btrWUbRYA6P/x4sflLtquL1YoD9k6TnuA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdftIZr%2FbtrWUbRYA6P%2Fx4sflLtquL1YoD9k6TnuA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;367&quot; height=&quot;263&quot; data-origin-width=&quot;447&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Inner join&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;&quot;&gt;OUTER JOINs 은&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;차집합 + 교집합으로, 교집합은 inner join 차집합은 NULL 값 열로 결합한다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;조인 조건은 교집합에 대한 조건으로 where 절의 위치나 조인 순서에 따라 결과나 성능이 달라진다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;잘못된 OUTER JOIN은 사용하지 않도록 해야한다. &lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Left Outer Join&amp;nbsp; = (A - B) + (A &amp;cap; B)&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;487&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rRbgU/btrWUIvrk8q/Fpme63JJ2kUhrGS02Kc0mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rRbgU/btrWUIvrk8q/Fpme63JJ2kUhrGS02Kc0mK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rRbgU/btrWUIvrk8q/Fpme63JJ2kUhrGS02Kc0mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrRbgU%2FbtrWUIvrk8q%2FFpme63JJ2kUhrGS02Kc0mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;435&quot; height=&quot;252&quot; data-origin-width=&quot;487&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;&quot;&gt;차집합만 구하고자 할 때에는&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;&quot;&gt;A &lt;u&gt;LEFT OUTER JOIN&lt;/u&gt; B On A.Key = B.Key &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHERE&lt;/span&gt; B.key IS NULL&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Right Outer Join&amp;nbsp; = (B - A) + (A &amp;cap; B)&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edOrsD/btrWSwbbjXs/wndABuDQF4gKZfPBkoKFSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edOrsD/btrWSwbbjXs/wndABuDQF4gKZfPBkoKFSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edOrsD/btrWSwbbjXs/wndABuDQF4gKZfPBkoKFSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedOrsD%2FbtrWSwbbjXs%2FwndABuDQF4gKZfPBkoKFSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;457&quot; height=&quot;254&quot; data-origin-width=&quot;516&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Cross Join = Cartesian Product&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;N x M&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;조인 조건은 명시적으로 없지만, 물리적으로 행 x 행&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;비 관계 열 기준 복제 시,&amp;nbsp; 전체 행을 원하는 수만큼 복제 시 등 사용 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1674460445356&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	*
FROM 
	(VALUES (1, 'A'), (2, 'B'), (3, 'C')) AS t1 (A, B)
CROSS JOIN 
	(VALUES ('DB', 100)) AS t2 (C, D);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;203&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OhL6z/btrWUcDm5mF/KcFMcsleSWefaBqQVT6VKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OhL6z/btrWUcDm5mF/KcFMcsleSWefaBqQVT6VKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OhL6z/btrWUcDm5mF/KcFMcsleSWefaBqQVT6VKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOhL6z%2FbtrWUcDm5mF%2FKcFMcsleSWefaBqQVT6VKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;203&quot; height=&quot;138&quot; data-origin-width=&quot;203&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1674460605520&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 현재 데이터 

SELECT 
	ProductID
,	UnitPrice
FROM 
	dbo.[Order Details] As od
WHERE
	OrderID &amp;lt;= 10250
order by 1;

SELECT AvgPrice = AVG(UnitPrice) FROM dbo.[Order Details] AS od;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;239&quot; data-origin-height=&quot;343&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcQSlV/btrWUHceWqH/EfIqeqllCQWcl5lBTkMti0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcQSlV/btrWUHceWqH/EfIqeqllCQWcl5lBTkMti0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcQSlV/btrWUHceWqH/EfIqeqllCQWcl5lBTkMti0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcQSlV%2FbtrWUHceWqH%2FEfIqeqllCQWcl5lBTkMti0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;239&quot; height=&quot;343&quot; data-origin-width=&quot;239&quot; data-origin-height=&quot;343&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1674460733531&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- Cross Join의 활용: 평균가 대비 단가별 편차
SELECT
	ProductID
,	UnitPrice

/* 아래 두 가지 열 값을 생성 */
,	av.AvgPrice
,	av.AvgPrice - UnitPrice as 'diff'
FROM 
	dbo.[Order Details] As od
CROSS JOIN (SELECT AvgPrice = AVG(UnitPrice) FROM dbo.[Order Details] AS od) AS av
WHERE
	OrderID &amp;lt;= 10250;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AeQX5/btrWXibWOeR/OY3xVPGJKWfpDqaKnOXHFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AeQX5/btrWXibWOeR/OY3xVPGJKWfpDqaKnOXHFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AeQX5/btrWXibWOeR/OY3xVPGJKWfpDqaKnOXHFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAeQX5%2FbtrWXibWOeR%2FOY3xVPGJKWfpDqaKnOXHFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;376&quot; height=&quot;248&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;248&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;FULL OUTER JOIN&amp;nbsp; &lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;집합의 결과는, A &amp;cup; B 합집합이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwur9O/btrWSwoKhyg/6gwVqZm8qeTZtcyYmDJWok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwur9O/btrWSwoKhyg/6gwVqZm8qeTZtcyYmDJWok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwur9O/btrWSwoKhyg/6gwVqZm8qeTZtcyYmDJWok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcwur9O%2FbtrWSwoKhyg%2F6gwVqZm8qeTZtcyYmDJWok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;414&quot; height=&quot;254&quot; data-origin-width=&quot;460&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1674461811207&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 예제 테이블 생성
CREATE TABLE dbo.Depts 
(
	DeptCode	char(4)	PRIMARY KEY
,	DeptName	varchar(20)
);

CREATE TABLE dbo.Emps
(
	EmpID		int	PRIMARY KEY
,	DeptCode	char(4)
);

INSERT Depts
VALUES
	('0001', '인사')
,	('0002', '회계')
,	('0003', '영업1팀')
,	('0004', '구매1팀')
,	('0005', '생산1팀')
,	('0006', 'DBA팀');

INSERT Emps
VALUES 
	(1, '0001')
,	(2, '0002')
,	(3, '0004')
,	(4, NULL)
,	(5, '0005')
,	(6, '0006');


-- 차집합
SELECT * 
FROM dbo.Depts AS d 
WHERE NOT EXISTS (SELECT 1 
				FROM dbo.Emps AS e 
				WHERE e.DeptCode = d.DeptCode);

SELECT * 
FROM dbo.Emps AS e
WHERE NOT EXISTS (SELECT 1 
				FROM dbo.Depts AS d 
				WHERE e.DeptCode = d.DeptCode);

-- 교집합
SELECT * 
FROM dbo.Emps AS e
INNER JOIN dbo.Depts AS d ON e.DeptCode = d.DeptCode;

-- Full Outer Join 
SELECT * 
FROM dbo.Emps AS e
FULL JOIN dbo.Depts AS d ON e.DeptCode = d.DeptCode;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;234&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9AzCy/btrWS19Wlmi/IPf5kTNQpK3biisj13kYb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9AzCy/btrWS19Wlmi/IPf5kTNQpK3biisj13kYb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9AzCy/btrWS19Wlmi/IPf5kTNQpK3biisj13kYb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9AzCy%2FbtrWS19Wlmi%2FIPf5kTNQpK3biisj13kYb1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;234&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;234&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;OUTER와 INNER JOIN의 차이&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1674461259557&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	o.OrderID, * 
FROM
	dbo.Customers AS c -- 부모 테이블, Outer join 의 기준이 됨
LEFT JOIN
	dbo.Orders AS o ON c.CustomerID = o.CustomerID -- Orders 테이블은 자식 테이블
WHERE
	o.OrderID &amp;lt;= 10250;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Customers 테이블의 CustomerID 는 Orders 테이블에 존재하지 않을 수 있지만, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Orders 테이블의 CustomerID는 Customers 테이블에 없으면, 무결성에 위반되는 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;where 절의 o.OrderID &amp;lt;= 10250 의 조건은 outer join의 의미론적으로 맞지 않는다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;따라서 옵티마이저는 알아서 inner join으로 처리해 주게 된다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이로 인해 결과는 문제 없을 수 있지만, 성능이 떨어지게 되므로 불필요한 outer join은 사용하지 않도록 해야한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>INNER JOIN과 OUTER JOIN</category>
      <category>MSSQL</category>
      <category>SQL 조인 성능</category>
      <category>SQL 조인 종류</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/87</guid>
      <comments>https://ybeaning.tistory.com/87#entry87comment</comments>
      <pubDate>Mon, 23 Jan 2023 17:21:48 +0900</pubDate>
    </item>
    <item>
      <title>동적 SQL, EXEC() 와 sp_executesql</title>
      <link>https://ybeaning.tistory.com/86</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;문자열로 구서왼 동적 쿼리가 필요할 경우, 기본적으로 sp_executesql을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;EXEC() 보다 상대적으로 보안이 안전한 편이며 컴파일 부하가 적다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;한번 컴파일 하면, Caching된 것을 사용하기 때문에 Cache의 재사용 효율이 좋다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;또한 출력 매개변수 지원을 지원한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;EXEC()는 순수 동적 쿼리로, Query Optimizer에 의해 자동 매개변수화 쿼리로 변환이 가능하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;EXEC()&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1673055575399&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;DECLARE @TableName varchar(128) = 'Orders', OrderID int = 10248;

DECLARE @sql varchar(8000), @sql2 varchar(max);

SET @sql = 'SELECT OrderID, OrderDate'
	+ ' FROM ' + 'dbo' + '.' + QUOTENAME(@TableName)
       	+ ' WHERE OrderId = ' + CAST(@OrderID As varchar(10));
        
PRINT @sql;
EXEC (@sql);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;sp_executesql&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1673055985336&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;DECLARE @pCustID varchar(128) = 'VINET', OrderID int = 10212;

DECLARE @sql nvarchar(4000), @CR varchar(1) = CHAR(13), @QM varchar(1) = CHAR(39);

SET @sql = 'SELECT OrderID, OrderDate' + @CR
	+ ' FROM dbo.Orders' + @CR
       	+ ' WHERE CustomerID = @CustomerID' + @CR
        + ' AND OrderID &amp;lt;= @OrderID';
        
PRINT @sql;

EXEC sys.sp_executesql
	@statment = @sql,
    @params = N'@CustomerID nvarchar(10), @OrderId int',
    @CustomerID = @pCustId,
    @OrderID = @pOrderID
GO&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>MSSQL sp_executesql</category>
      <category>sp_executesql</category>
      <category>SQL EXEC()</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/86</guid>
      <comments>https://ybeaning.tistory.com/86#entry86comment</comments>
      <pubDate>Sat, 7 Jan 2023 10:51:58 +0900</pubDate>
    </item>
    <item>
      <title>[데이터 베이스] MSSQL 임시테이블과 테이블 변수</title>
      <link>https://ybeaning.tistory.com/85</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;임시테이블 활용&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;동일한 행들에 대한 중복, 반복, 집계 처리가 필요한 경우&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;중간 결과 저장과 재사용&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;cursor 대체용: 재귀 호출 처리&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;대량 조인 + union + 집계 쿼리 =&amp;gt; 단순화&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;기타 SQL server 내부적으로 사용&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;MTF (Multi statement Table-valued Function)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;TVP (Table Valued Parameter)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;임시테이블과 테이블 변수&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;특징&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;tempdb에 물리적으로 저장&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;#: Local Temp Table (현재 세션 용)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;##: Global Temp table (전체 세션 공유)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;@: Table Variable 현재 배치 용&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Table 변수&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;PK/UNIQUE 생성 지원&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;기타 인덱스는 비지원&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;FK 제약 조건은 선언만 가능&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;CHECK 제약 조건 지원&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>MSSQL 임시테이블</category>
      <category>MSSQL 테이블 변수</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/85</guid>
      <comments>https://ybeaning.tistory.com/85#entry85comment</comments>
      <pubDate>Sat, 7 Jan 2023 10:31:28 +0900</pubDate>
    </item>
    <item>
      <title>[데이터 베이스] MSSQL SEQUENCE (시퀀스) 개체 생성 및 사용</title>
      <link>https://ybeaning.tistory.com/84</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;시퀀스(Sequene)&lt;/b&gt; 는 단어 의미 그대로, 순서를 부여하는 것을 의미한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt; 독립 개체로 생성되는데, 순번의 중앙 저장소로 디폴트 타입은 bigint이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;독립 개체이므로 관리가 필요하며, IDENTITY와 동일하게 활용할 시에는 테이블 단위 개체가 필요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;여러 테이블에 공유되는 고유 순번을&amp;nbsp; 생성할 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;지정 번호 도달하면 다시 시작이 필요한 경우 처음부터 다시 시작하는 cycling 을 지원하고, 순번의 조정 및 변경이 자유로운 편이다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;시퀀스 값을 다른 열을 기준으로 정렬해야 하는 경우에 NEXT VALUE OVER () 절을 사용하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SEQUENCE 개체 VS. IDENTITY&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;sequence 와 identity의 차이는 다음과 같이 정리할 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 257px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;기능&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;IDENTITY&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SEQUENCE&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;사전에 값 구하기&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;테이블 종속 여부&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;UPDATE 문 사용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SELECT 문 사용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X (SELECT INTO 가능)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O (OVER () 가능)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;순서 조정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X (INSERT SELECT 가능)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;롤백 시 재사용 여부&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;기존 열과 연결/해지&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;최소/최댓값 조정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Cycle&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;증가 값 변경&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Cache 정의&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;범위 값 구하기&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;O&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SEQUENCE 생성&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;시퀀스 생성의 기본 형태는 다음과 같다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1671251590758&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE SEQUENCE [schema_name . ] sequence_name  
    [ AS [ built_in_integer_type | user-defined_integer_type ] ]  
    [ START WITH &amp;lt;constant&amp;gt; ]  
    [ INCREMENT BY &amp;lt;constant&amp;gt; ]  
    [ { MINVALUE [ &amp;lt;constant&amp;gt; ] } | { NO MINVALUE } ]  
    [ { MAXVALUE [ &amp;lt;constant&amp;gt; ] } | { NO MAXVALUE } ]  
    [ CYCLE | { NO CYCLE } ]  
    [ { CACHE [ &amp;lt;constant&amp;gt; ] } | { NO CACHE } ]  
    [ ; ]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver16&quot;&gt;CREATE SEQUENCE (Transact-SQL) - SQL Server | Microsoft Learn&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1671251753694&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;CREATE SEQUENCE (Transact-SQL) - SQL Server&quot; data-og-description=&quot;CREATE SEQUENCE (Transact-SQL)&quot; data-og-host=&quot;learn.microsoft.com&quot; data-og-source-url=&quot;https://learn.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver16&quot; data-og-url=&quot;https://learn.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eJf9L/hyQU0uFtKv/8KI63hJtKQNEmGHrKBCRy0/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver16&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://learn.microsoft.com/en-us/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver16&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eJf9L/hyQU0uFtKv/8KI63hJtKQNEmGHrKBCRy0/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;CREATE SEQUENCE (Transact-SQL) - SQL Server&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;CREATE SEQUENCE (Transact-SQL)&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;learn.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;추후에 cycle 발생을 고려한다면 MINVALUE 값을 지정해 주는 것을 권장 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671251494010&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;USE Northwind;
GO

CREATE SEQUENCE dbo.SeqNo
AS bigint
	START WITH 1
	INCREMENT BY 1
	 -- MINVALUE 1
	NO MAXVALUE
	CACHE 5000;
    

-- 샘플 테이블을 생성해보자 
IF OBJECT_ID('dbo.Sales', 'U') IS NOT NULL
	DROP TABLE dbo.Sales;	
GO

CREATE TABLE dbo.Sales
(
   SeqNo bigint NOT NULL	DEFAULT (NEXT VALUE FOR dbo.SeqNo)
								PRIMARY KEY NONCLUSTERED
,	SaleDate	datetime	NOT NULL
);
GO

INSERT dbo.Sales (SaleDate) VALUES (GETDATE());
SELECT * FROM dbo.Sales;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZX9h1/btrTTqcEgBH/h6BEbzBaVqMV35e7U4DaK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZX9h1/btrTTqcEgBH/h6BEbzBaVqMV35e7U4DaK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZX9h1/btrTTqcEgBH/h6BEbzBaVqMV35e7U4DaK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZX9h1%2FbtrTTqcEgBH%2Fh6BEbzBaVqMV35e7U4DaK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;265&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;INSERT 를 반복하여 4까지 생성하였다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;시퀀스의 메타 데이터 확인할 때는 &lt;span style=&quot;color: #006dd7;&quot;&gt;sys.sequences&lt;/span&gt; 를 사용하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671252035071&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	name, type_desc, modify_date
,	current_value, start_value, increment, minimum_value
,	is_cycling, is_cached, cache_size, is_exhausted
,	*
FROM sys.sequences
WHERE name = 'SeqNo;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;정의한 시퀀스로 순번을 할당해 보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671252807380&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- INSERT 시

INSERT dbo.Sales (SeqNo, SaleDate)
VALUES 
	(NEXT VALUE FOR dbo.SeqNo, GETDATE())
,	(NEXT VALUE FOR dbo.SeqNo, GETDATE())
,	(NEXT VALUE FOR dbo.SeqNo, GETDATE())

SELECT * FROM dbo.Sales;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;4+ 3 = &amp;gt; 총 7개의 순번이 생성된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;할당 후 할당된 순번을 확인해 보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671253102211&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- OUTPUT 활용
INSERT dbo.Sales (SeqNo, SaleDate)
OUTPUT inserted.SeqNo
VALUES (NEXT VALUE FOR dbo.SeqNo, GETDATE());


-- sys.sequences 활용
SELECT current_value	FROM sys.sequences 
WHERE object_id = OBJECT_ID('dbo.SeqNo', 'SO');&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;NEXT VALUE FOR로 1개의 행을 더 생성하고, OUTPUT 으로 할당된 값을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Current_value는 8이 되어 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;현재 할당된 순번부터 100개의 보조 테이블을 생성해 보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671253213114&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;WITH N1(Seq) AS (SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1)
   , N2(Seq) AS (SELECT 1 FROM N1 CROSS JOIN N1 AS n)
   , N3(Seq) AS (SELECT 1 FROM N2 CROSS JOIN N2 AS n)
   , Numbers(Seq) AS (SELECT ROW_NUMBER() OVER(ORDER BY n.Seq) FROM N3 CROSS JOIN N3 AS n)
SELECT SeqNo = NEXT VALUE FOR dbo.SeqNo 
FROM Numbers
WHERE Seq BETWEEN 1 AND 100;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;해당 쿼리를 수행하면 9 ~&amp;nbsp; 108 의 SeqNo가 생성된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;다시 current_value를 확인하면 108 임을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;OVER() 을 활용하여 정렬 순번을 생성해 보자.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671253705843&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
	SeqNo = NEXT VALUE FOR dbo.SeqNo OVER (ORDER BY OrderDate DESC)
,	OrderDate
FROM dbo.Orders
WHERE OrderID BETWEEN 10248 AND (10248 + 9);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;311&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DfXYs/btrTR9oNQ0u/iqeZB6TUfwf2OHCrhEqHU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DfXYs/btrTR9oNQ0u/iqeZB6TUfwf2OHCrhEqHU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DfXYs/btrTR9oNQ0u/iqeZB6TUfwf2OHCrhEqHU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDfXYs%2FbtrTR9oNQ0u%2FiqeZB6TUfwf2OHCrhEqHU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;353&quot; height=&quot;311&quot; data-origin-width=&quot;353&quot; data-origin-height=&quot;311&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;총 10개의 순번을 생성했으므로 current_Value는 118 이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;시퀀스의 Cycle 설정&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;다음으로 cycle 을 설정해 보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;메타를 확인하면, is_cycling= 0 임을 확인할 수 있고, 이는 현재 cycle 이 설정되지 않았음을 의미한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;위에서 min_value와 max_value를 설정하지 않았으니 bigint 의 최소 최대 값을 가진다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAei1K/btrTSMUsybK/Pi4Q6uF2YIaTHKBgjBk4t0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAei1K/btrTSMUsybK/Pi4Q6uF2YIaTHKBgjBk4t0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAei1K/btrTSMUsybK/Pi4Q6uF2YIaTHKBgjBk4t0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAei1K%2FbtrTSMUsybK%2FPi4Q6uF2YIaTHKBgjBk4t0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;93&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;SeqNo의 최대 값을 150으로 바꿔주고&amp;nbsp; SELECT NEXT VALUE FOR 문으로 150을 초과할 때 까지 실행해보자&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671254044030&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ALTER SEQUENCE dbo.SeqNo
	MAXVALUE	150
    

-- MAX 값 초과할 때 까지 수행
SELECT NEXT VALUE FOR dbo.SeqNo;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;150을 넘어가면 다음과 같은 에러가 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SIu0I/btrTRCroU1O/js295Z1ge2TtkjDBR47ONk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SIu0I/btrTRCroU1O/js295Z1ge2TtkjDBR47ONk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SIu0I/btrTRCroU1O/js295Z1ge2TtkjDBR47ONk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSIu0I%2FbtrTRCroU1O%2Fjs295Z1ge2TtkjDBR47ONk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;649&quot; height=&quot;59&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;다음과 같이 cycle을 설정하여 에러 발생을 방지하자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1671254216640&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ALTER SEQUENCE dbo.SeqNo
	CYCLE;
    

-- 초기값 1로 재설정
ALTER SEQUENCE dbo.SeqNo
	RESTART WITH 1;


-- 번호 생성
SELECT SeqNo = NEXT VALUE FOR dbo.SeqNo;



-- 생성한 테이블과 시퀀스 삭제
DROP TABLE Sales;
DROP SEQUENCE dbo.SeqNo;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[참고]&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #495057;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #495057;&quot;&gt;SQL Server 컨설턴트가 알려주는, 쿼리 능력 레벨업(고급 T-SQL 쿼리) 강의&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>데이터베이스와 SQL</category>
      <category>MSSQL</category>
      <category>MSSQL SEQUENCE</category>
      <category>MSSQL Sequence cycle 설정하기</category>
      <category>MSSQL 시퀀스 Cycle</category>
      <category>MSSQL 시퀀스 생성</category>
      <category>sequence identity 차이</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/84</guid>
      <comments>https://ybeaning.tistory.com/84#entry84comment</comments>
      <pubDate>Sat, 17 Dec 2022 14:21:31 +0900</pubDate>
    </item>
    <item>
      <title>회화에서 technically / practically / literally 의 의미는?</title>
      <link>https://ybeaning.tistory.com/83</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;1. Tehcnically&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;technically: 기술적으로&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;회화에서는&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt; &quot;따지고 보면, 정확히 하면&quot;&lt;/b&gt; &lt;/span&gt;이라는 의미.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #8a3db6;&quot;&gt;= to be precise / to be exact&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;I wonder what the difference is between &quot;Can I ask you someting&quot; and &quot;Make I ask you something&quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Well, &lt;span style=&quot;color: #ee2323;&quot;&gt;technically speaking,&lt;/span&gt; they are the same. But &quot;can&quot; would commonly be used in conversations with friends whereas &quot;may&quot; might be used in a formal situation.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;따지고 보면, 두 문장 모두 같은 의미야. 하지만 &quot;can&quot;은 친구들끼리 대화할 때 일반적으로 사용하는 반면에 may는 좀 더 공적인 상황에서 사용해.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;2. practically&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;practically: 실용적으로&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;회화에서는&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt; &quot;거의 / 대부분&quot;&lt;/span&gt;&lt;/b&gt; 이라는 의미.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #8a3db6;&quot;&gt;= almost / nearly&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;You are such a great person to talk to about &lt;span style=&quot;color: #ee2323;&quot;&gt;practically&lt;/span&gt; anything.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;넌 거의 아무거나 얘기할 수 있는 진짜 괜찮은 사람이야.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Right back at you!&lt;/span&gt; You know I call you &lt;span style=&quot;color: #ee2323;&quot;&gt;practically&lt;/span&gt; every day. I need to talk somebody, you are the first person that comes to my mind.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt; 너도 그래!&amp;nbsp; 나 너한테 거의 매일 전화하잖아.&amp;nbsp; 너는 말할 사람이 필요하면 가장 먼저 생각나는 사람이야.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Likewise! I guess our feelings are mutual.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;나도 마찬가지야.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;3. literally&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;literally : 문자/말 그대로&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;ex) He lives literally one block from my house. 그는 문자 그대로 우리 집에서 한 블럭 떨어져 산다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;회화에서는 &lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&quot;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;완전히/정말로&quot;&lt;/span&gt; &lt;/b&gt;라는 &lt;b&gt;강조&lt;/b&gt;의 의미로 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #8a3db6;&quot;&gt;&amp;nbsp;=really&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;There were &lt;span style=&quot;color: #ee2323;&quot;&gt;literally&lt;/span&gt; hundreds of pages to read in the contract.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;1) 진짜로 문자 그대로 수 백장을 읽어야 하는 것을 의미.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;2) 수 백장은 아니지만, 너무 많아서 강조하고 싶을 때 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;I'm &lt;span style=&quot;color: #ee2323;&quot;&gt;literally&lt;/span&gt; jumping for joy!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;1) 문자 그대로 you are actually leaping in the air 진짜 뛰면서 좋아할 때&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;2) 기분이 정말 날아갈 정도로 좋다는 것을 강조&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>literally</category>
      <category>practically</category>
      <category>Technically</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/83</guid>
      <comments>https://ybeaning.tistory.com/83#entry83comment</comments>
      <pubDate>Mon, 28 Nov 2022 21:21:07 +0900</pubDate>
    </item>
    <item>
      <title>수고하셨습니다, 아쉽다, 안타깝다, 답답하다를 영어로?</title>
      <link>https://ybeaning.tistory.com/82</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;1) 수고 하셨습니다.&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고&amp;nbsp; = 힘든 일&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고 하셨습니다 = 애쓰셨습니다&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고 많으시죠? = 어려움이 많으시죠?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;일반적으로 위와 같은 의미로 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;그러면 이것을 영어로 직역하면...!&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고&amp;nbsp; = hard work&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고 하셨습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp;= You did hard work ?&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;가 된다..&lt;/span&gt;&lt;/p&gt;
&lt;figure contenteditable=&quot;false&quot; data-ke-type=&quot;emoticon&quot; data-ke-align=&quot;alignLeft&quot; data-emoticon-type=&quot;friends2&quot; data-emoticon-name=&quot;053&quot; data-emoticon-isanimation=&quot;false&quot; data-emoticon-src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends2/large/053.png&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/keditor/emoticon/friends2/large/053.png&quot; width=&quot;150&quot; /&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;그런데 좀 문장 자체가 어색하게 느껴진다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;native 는 무슨 말인지 이해하지 못 할 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;따라서&amp;nbsp; 수고 하셨습니다는 다음과 같이 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;Thank you for your hard work.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;= 수고해 주셔서 감사합니다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;상사가 부하 직원에게 수고했다고 할 때에는&lt;span style=&quot;color: #000000;&quot;&gt; 다음과 같은 표현을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고해줘서 고마워요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Thank you for your hard work today.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Good job! Keep up the good work. &quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;계속해서 좋은 일 부탁해요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고 했어요는 아니지만, 일/회의를 마무리하고자 할 때&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #ee2323;&quot;&gt;&quot;Let's call it a day.&quot;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;오늘 여기까지 하죠.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;일반적으로 윗사람에게 수고 하셨습니다 라는 말은 예의가 아니 듯, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;부하직원이 상사에게는 수고 했어요 라는 말은 잘 사용하지 않는다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;따라서&amp;nbsp; 부하직원이 상사에게는 감사 인사를 전하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Thank you for today.&quot;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;오늘 감사했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;동급 사람들끼리, 친한 동료들 끼리는 다음과 같은 표현을 사용할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;You did really well&lt;/span&gt; ! (or Good job!)&quot;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;수고 했어&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;That was fun!&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;&quot;&gt;(프로젝트나 회의, 프레젠테이션 등이) 재밌었어!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Take it easy. (or Take care)&quot; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;라는 표현은 Good-bye의 개념으로 사용 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;또한 미용사가 손님에게 수고하셨다고 할 때에는&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Thank you for your patience. You're all set.&quot;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;학생들이 선생님에게 감사 인사를 전할 때에는&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;Thank you! I really enjoyed your class.&quot;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;2) 아쉽다/안타깝다&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;아쉬움을 표현하는 영어 표현으로는&amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;It's a shame [that ~ / to 부정사] &lt;/span&gt;이 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;shame 하면 일반저으로 창피나 부끄러움이라는 의미로 생각할 수 있는데, I&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;t's a shame하면 안타깝다/ 아쉽다 라는 의미로 많이 사용된다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&quot;It's a shame that&lt;/span&gt; you can't make it to the event.&quot;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;너가 그 행사에 못온다니까 아쉽다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&quot;It's&amp;nbsp; a shame to&lt;/span&gt; miss this opportunity.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이런 기회를 놓치다니 안타깝다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;안타깝네&quot;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #006dd7;&quot;&gt;What a shame.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;3) 답답하다&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;답답하다는 의미는 두 가지로 나눌 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;내 심정이나 어떤 상황이 답답한 경우와 어떤 사람이 답답한 경우이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;한국어로는 똑같이 답답하다로 쓰이지만, 영어는 전혀 다른 표현을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;A. (내 심정 / 상황이) 답답하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #ee2323;&quot;&gt;&amp;nbsp;frustrated / frustrating&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;What's taking so long?&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt; 왜이렇게 오래 걸려?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;I'm so frustrated. / It's so frustrating. &quot;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;나 참 답답하네...&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;B. (사람이) 답답하다.&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #ee2323;&quot;&gt;stuffy (꽉 막힌) / conservative (보수적인) / old-fashioned (너무 옛날사람인) / stubborn&amp;nbsp; (고집 쎈)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&quot;He is so stuffy all the time.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt; 그 남자는 매사가 너무 답답해. (그 남자 항상 꽉 막혔어.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;stuffy는 꽉 막혔다라는 뜻을 가지고 있는데 그럼 코가 막혀서 답답할 때에는 어떻게 사용할까?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&amp;nbsp; &quot;I have a stuffy nose.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;라고 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;s&gt;(&quot;My nose is stuffy.&quot;&lt;/s&gt; 라고는 쓰지 않는다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>영어 공부</category>
      <category>답답하다 영어로</category>
      <category>비즈니스영어회화</category>
      <category>수고하셨습니다 영어로</category>
      <category>아쉽다 영어로</category>
      <category>안타깝다 영어로</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/82</guid>
      <comments>https://ybeaning.tistory.com/82#entry82comment</comments>
      <pubDate>Mon, 28 Nov 2022 21:04:15 +0900</pubDate>
    </item>
    <item>
      <title>업무 보고를 위한 비즈니스 영어 표현 + 휴가 써도 되나요 영어로?</title>
      <link>https://ybeaning.tistory.com/81</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1) ~에 대한 진행 사항 알리기&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;We &lt;span style=&quot;color: #ee2323;&quot;&gt;are working on&lt;/span&gt; ~&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;~ 중에 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) We are working on&amp;nbsp; negotiating a deal with the Jen Corporation.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;우리는 Jen Corporation과 협상 중에 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;We are currently &lt;span style=&quot;color: #ee2323;&quot;&gt;in the process of&lt;/span&gt; ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;~ 하는 과정에 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) We are currently in the process of listing business potential of the project.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 우리는 프로젝트 가능성에 대해 리스팅 하는 과정에 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Nanum Gothic';&quot;&gt;The status&amp;nbsp; of the project is as follows:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;(진행 상황을 리스트로 이야기 해줌)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) The status&amp;nbsp; of the project is as follows:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Overall&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Milestones&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Issues&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;The attached report contains ~&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp;첨부된 보고서는 ~ 내용을 포함하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2) 업무 진행에 대해 확인하기&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I would like to &lt;span style=&quot;color: #ee2323;&quot;&gt;check/confirm&lt;/span&gt; ~&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;진행 사항을 확인하고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) I would like to check/confirm the status of the project.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;프로젝트 진행 상황을 확인하고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) I would like to confirm if/whether our meeting for tomorrow is still going to be held.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; 내일 회의가 그대로 열리는지 확인하고 싶습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;=&amp;gt; Is tomorrow's meeting still on tomorrow ? (회화로, 구어체)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I would like to &lt;span style=&quot;color: #ee2323;&quot;&gt;clarify&lt;/span&gt; ~&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;~을 명확히 하고 싶습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) We would like to clarify a few things about the terms in our contract.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;계약 조항에 대한 몇가지를 명확히 하고 싶습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;We want to &lt;span style=&quot;color: #ee2323;&quot;&gt;ensure that&lt;/span&gt; ~&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;~ 을 확실히 하고 싶다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) I want to ensure ( = make sure) that everthing is on schedule.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;스케줄 대로 잘 진행되고 있는지 알고 싶습닏나.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3) ~에 대한 허가 요청하기&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;I would like your approval&lt;/span&gt; for my participation in the company's annual event.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;회사 연중 행사에 참여하기 위한 승인을 요청합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;With your approval&lt;/span&gt;, I will participate in the company's annnaul event.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;승인을 해주시면, 회사 연중 행사에 참여할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;I look forward to receiving&lt;/span&gt; your approval for my attendance to/at the company's annual event.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I look forward to receiving your approval for my participation in the&amp;nbsp;company's annual event.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;4) 휴가 요청하기&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Could(can) I get&lt;/span&gt; Wendnesday to Friday &lt;span style=&quot;color: #ee2323;&quot;&gt;off&lt;/span&gt; next week?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Would it be possible to take&lt;/span&gt; Wndnesday to Friday &lt;span style=&quot;color: #ee2323;&quot;&gt;off&lt;/span&gt; next week?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[참고]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비즈니스가&amp;nbsp;쉬워지는&amp;nbsp;Biz&amp;nbsp;E-mail&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>비즈니스이메일</category>
      <category>허가 요청 영어로</category>
      <category>휴가 승인 요청 영어로</category>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/81</guid>
      <comments>https://ybeaning.tistory.com/81#entry81comment</comments>
      <pubDate>Mon, 28 Nov 2022 20:28:50 +0900</pubDate>
    </item>
    <item>
      <title>업무 요청을 위한 비즈니스 영어 표현</title>
      <link>https://ybeaning.tistory.com/80</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1. 업무 요청하기&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Could you help me with ~ ?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Could you help me with&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;writing&lt;/span&gt; a report &lt;span style=&quot;color: #006dd7;&quot;&gt;on&lt;/span&gt; business potential fo the project?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Could you give me a hand with ~&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I would be grateful if you could help me with ~&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I would be appreciate it if you could give me a hand with ~&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2. 요청에 대한 승낙/거절하기&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;승낙 표현&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I am able to ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ex) &lt;/span&gt;I am able to&lt;/span&gt; make time to help you.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I am willing to ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ex)&lt;/span&gt; &lt;/span&gt;I am willing to&lt;/span&gt; cooperate with you in writing&amp;nbsp; a report.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I am pleased to inform you that ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ex)&lt;/span&gt; &lt;/span&gt;I am pleased to inform you that&lt;/span&gt; your request has been approved.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;거절 표현&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I am afraid I cannot ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) &lt;span style=&quot;color: #ee2323;&quot;&gt;I am afraid I cannot&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;find time&lt;/span&gt; to help you.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I am sorry to inform you that~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;ex) &lt;span style=&quot;color: #ee2323;&quot;&gt;I am sorry to inform you that&lt;/span&gt; your request has been rejected.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3. 마감 기한 연장 요청하기&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Can you extend the deadline for&lt;/span&gt; this month's sales report?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;= &lt;span style=&quot;color: #ee2323;&quot;&gt;Can I get a&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;deadline extension&lt;/span&gt; for ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;** 요청을 거절할 때&amp;nbsp; &quot;regret&quot;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;regret + v ing =&amp;gt; ~ 하는 것을 후회하다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;regret + to 부정사 =&amp;gt; ~ 할 것에 유감이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I&lt;span style=&quot;color: #006dd7;&quot;&gt; regret to&lt;/span&gt; inform you that your request has been rejected.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;당신의 요청을 거절해서 유감입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;I &lt;span style=&quot;color: #006dd7;&quot;&gt;regret saying&lt;/span&gt; negative things about you to other people.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;다른 사람들에게 너에 대해 부정적으로 이야기 한 것을 후회해. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>에빙빙</author>
      <guid isPermaLink="true">https://ybeaning.tistory.com/80</guid>
      <comments>https://ybeaning.tistory.com/80#entry80comment</comments>
      <pubDate>Sat, 26 Nov 2022 21:42:26 +0900</pubDate>
    </item>
  </channel>
</rss>