<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>rose tinted glasses</title>
    <link>https://kyrakang.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 2 Aug 2026 08:20:36 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>kyra</managingEditor>
    <item>
      <title>[TIL] 파이썬 리스트 (del, sum, min, max, len, sort)</title>
      <link>https://kyrakang.tistory.com/95</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;리스트 원소 삭제 (del)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753004027442&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fruits = ['apple', 'banana', 'orange', 'grapes']
del fruits[1]

print(fruits) # ['apple', 'orange', 'grapes']

----------------
fruits = ['apple', 'banana', 'orange', 'grape']

del fruits[1:3]
print(fruits) # ['apple', 'grapes']&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;리스트 원소 합(sum)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753007368178&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nums = [1, 2, 3, 4, 5]

print(sum(nums)) # 15 출력&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;blockquote data-ke-style=&quot;style2&quot;&gt;리스트 원소 최댓값 최솟값(min(), max())&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753007404728&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nums = [1, 2, 3, 4, 5, 6, 7]

print(&quot;max: &quot;, max(nums))
print(&quot;min: &quot;, min(nums))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;리스트 원소 개수 (len)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753007441036&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cook = [&quot;피자&quot;, &quot;김밥&quot;, &quot;만두&quot;, &quot;양념치킨&quot;, &quot;족발&quot;, &quot;피자&quot;, &quot;김치만두&quot;, &quot;쫄면&quot;, &quot;소시지&quot;, &quot;라면&quot;, &quot;팥빙수&quot;, &quot;김치전&quot;]

print(len(cook))&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;blockquote data-ke-style=&quot;style2&quot;&gt;리스트 오름차순 정렬 (sort, sorted)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753007613143&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = [2, 4, 3, 1, 5, 10, 9]
data.sort()

print(data)

----

data = [2, 4, 3, 1, 5, 10, 9]
data2 = sorted(data)

print(data2)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Python/TIL</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/95</guid>
      <comments>https://kyrakang.tistory.com/95#entry95comment</comments>
      <pubDate>Sun, 20 Jul 2025 19:34:03 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] 파이썬 문자열 (replace, split, rstrip)</title>
      <link>https://kyrakang.tistory.com/94</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문자열 슬라이싱 (거꾸로출력)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753001380902&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;string = 'PYTHON'

print(string[::-1])

#[시작점:끝점:건너뛰기/거꾸로]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문자열 치환 (replace)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753001747909&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;phone_numb = &quot;010-1111-2222&quot;
print(phone_numb.replace(&quot;-&quot;, &quot; &quot;))

# replace를 사용해 문자열 치환​&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1753001935173&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;string = 'abcdfe2a354a32a'

print(string.replace('a', 'A')) # Abcdfe2A354A32A 출력&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문자열 분리 (split)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753001826320&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;url = &quot;http://sharebook.kr&quot;
url_split = url.split(&quot;.&quot;)

print(url_split[-1]) # kr 출력

url_split # ['http://sharebook', 'kr'] 출력&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;blockquote data-ke-style=&quot;style2&quot;&gt;오른쪽 공백 제거 (rstrip)&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753003410319&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data = &quot;039490     &quot;
data = data.rstrip()

print(data) # 039490&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Python/TIL</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/94</guid>
      <comments>https://kyrakang.tistory.com/94#entry94comment</comments>
      <pubDate>Sun, 20 Jul 2025 18:28:13 +0900</pubDate>
    </item>
    <item>
      <title>[TIL] Append  vs  Extend  vs Insert in python</title>
      <link>https://kyrakang.tistory.com/93</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Append&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;The append() method adds a single element to the end of a list.&lt;/li&gt;
&lt;li&gt;If the element being added is a sequence (list, tuple, etc.), it will add that entire sequence as a single element to the list.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1713837751817&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fruits = ['apple', 'banana']
fruits.append('orange')
print(fruits)  # ['apple', 'banana', 'orange']

nested_list = [1, 2]
fruits.append(nested_list)
print(fruits)  # ['apple', 'banana', 'orange', [1, 2]]&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;blockquote data-ke-style=&quot;style2&quot;&gt;Extend&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;The extend() method adds all the elements of an iterable (sequence) to the end of a list.&lt;/li&gt;
&lt;li&gt;If the iterable being added is a list, it will add each element of that list individually to the original list.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1713837942336&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fruits = ['apple', 'banana']
fruits.extend(['orange', 'grape'])
print(fruits)  # ['apple', 'banana', 'orange', 'grape']

nested_list = [1, 2]
fruits.extend(nested_list)
print(fruits)  # ['apple', 'banana', 'orange', 'grape', 1, 2]&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;blockquote data-ke-style=&quot;style2&quot;&gt;Insert&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Insert() method enables to put value in a certain position in the list.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1753003653632&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;fruits = ['apple', 'banana', 'orange', 'grape']
fruits.insert(1, &quot;blueberry&quot;)

print(fruits) # ['apple', 'blueberry', 'banana', 'orange', 'grape']&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Python/TIL</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/93</guid>
      <comments>https://kyrakang.tistory.com/93#entry93comment</comments>
      <pubDate>Tue, 23 Apr 2024 11:05:57 +0900</pubDate>
    </item>
    <item>
      <title>[Collocations] gain, win, earn, make, achieve, beat/defeat</title>
      <link>https://kyrakang.tistory.com/91</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Gain&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;1. 권력을 얻다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 통제권을 얻다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 접근할 수 있다.&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;4. 명성을 얻다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 관심을 받다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 인식을 가지다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 장점을 갖다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. gain power&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. gain control&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. gain access&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;4. gain a reputation&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. gain publicity&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. gain recognition&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. gain an advantage&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Win&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;1. 수상하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 상을 타다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 메달을 따다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 게임에서 이기다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 전쟁에서 이기다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 선거에서 이기다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. win an award&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. win a prize&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. win a medal&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. win a game&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. win a war&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. win an election&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Make/ Earn, Achieve&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;1. 돈을 벌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이윤을 내다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 연봉을 받다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 성공하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 목표를 달성하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. make money/ earn money&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. make a profit&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. earn a salary&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. achieve success&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. achieve goals/ achieve your aims&lt;/p&gt;</description>
      <category>English</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/91</guid>
      <comments>https://kyrakang.tistory.com/91#entry91comment</comments>
      <pubDate>Mon, 22 Apr 2024 08:42:22 +0900</pubDate>
    </item>
    <item>
      <title>[MachineLearning] K-means Clustering</title>
      <link>https://kyrakang.tistory.com/90</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/4b5d3muPQmA?si=sA0n1YrxFFx8YhNo&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/4b5d3muPQmA?si=sA0n1YrxFFx8YhNo&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=4b5d3muPQmA&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bfStMi/hyVPSSCWdA/U3qInNBanqgVYKkQBVLn7k/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;StatQuest: K-means clustering&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/4b5d3muPQmA&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Select the number of clusters(=K) you want to identify in your data.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Randomly select 3 distinct data points.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Measure the distance between the 1st point and the three initial clusters.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Assign the 1st point to the nearest cluster.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Do the same thing for the remaining points.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. Assess the quality of clustering by adding up the variation within each cluster.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. Calculates the mean of each cluster and then reclusters based on the new means.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. This repeats until the clusters no longer change.&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;How to figure out what value to use for &quot;K&quot;?&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;1. try different values for K&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. find an &quot;elbow plot&quot; and pick &quot;K&quot;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOLqrl/btsGEVXVE3p/hGTDFIGVmIGzaXOPE6bVX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOLqrl/btsGEVXVE3p/hGTDFIGVmIGzaXOPE6bVX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOLqrl/btsGEVXVE3p/hGTDFIGVmIGzaXOPE6bVX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOLqrl%2FbtsGEVXVE3p%2FhGTDFIGVmIGzaXOPE6bVX0%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;653&quot; height=&quot;420&quot; data-origin-width=&quot;653&quot; data-origin-height=&quot;420&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;blockquote data-ke-style=&quot;style3&quot;&gt;KNN vs K-Means Clustering&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #f0eee5; color: #29261b; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;The&amp;nbsp;key&amp;nbsp;differences&amp;nbsp;between&amp;nbsp;KNN&amp;nbsp;(K-Nearest&amp;nbsp;Neighbors)&amp;nbsp;and&amp;nbsp;K-Means&amp;nbsp;Clustering&amp;nbsp;are: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;Purpose: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;KNN&amp;nbsp;is&amp;nbsp;used&amp;nbsp;for&amp;nbsp;classification&amp;nbsp;and&amp;nbsp;regression&amp;nbsp;problems. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;K-Means&amp;nbsp;is&amp;nbsp;used&amp;nbsp;for&amp;nbsp;data&amp;nbsp;clustering. &lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;Input&amp;nbsp;Data: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;KNN&amp;nbsp;requires&amp;nbsp;a&amp;nbsp;labeled&amp;nbsp;dataset. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;K-Means&amp;nbsp;works&amp;nbsp;with&amp;nbsp;unlabeled,&amp;nbsp;unsupervised&amp;nbsp;data. &lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;Working&amp;nbsp;Mechanism: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;KNN&amp;nbsp;finds&amp;nbsp;the&amp;nbsp;K&amp;nbsp;nearest&amp;nbsp;neighbors&amp;nbsp;of&amp;nbsp;a&amp;nbsp;new&amp;nbsp;data&amp;nbsp;point&amp;nbsp;and&amp;nbsp;classifies&amp;nbsp;or&amp;nbsp;regresses&amp;nbsp;based&amp;nbsp;on&amp;nbsp;them. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;K-Means&amp;nbsp;partitions&amp;nbsp;the&amp;nbsp;data&amp;nbsp;into&amp;nbsp;K&amp;nbsp;clusters&amp;nbsp;and&amp;nbsp;iteratively&amp;nbsp;updates&amp;nbsp;the&amp;nbsp;cluster&amp;nbsp;centroids&amp;nbsp;until&amp;nbsp;convergence. &lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;Output: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;KNN&amp;nbsp;predicts&amp;nbsp;the&amp;nbsp;class&amp;nbsp;label&amp;nbsp;or&amp;nbsp;regression&amp;nbsp;value&amp;nbsp;for&amp;nbsp;a&amp;nbsp;new&amp;nbsp;data&amp;nbsp;point. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;K-Means&amp;nbsp;outputs&amp;nbsp;the&amp;nbsp;cluster&amp;nbsp;label&amp;nbsp;for&amp;nbsp;each&amp;nbsp;data&amp;nbsp;point. &lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;Applications: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&lt;b&gt;KNN&amp;nbsp;is&amp;nbsp;primarily&amp;nbsp;used&amp;nbsp;for&amp;nbsp;classification&amp;nbsp;and&amp;nbsp;regression&amp;nbsp;tasks.&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&lt;b&gt;K-Means&amp;nbsp;is&amp;nbsp;commonly&amp;nbsp;used&amp;nbsp;for&amp;nbsp;customer&amp;nbsp;segmentation,&amp;nbsp;anomaly&amp;nbsp;detection,&amp;nbsp;data&amp;nbsp;compression,&amp;nbsp;etc.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;In&amp;nbsp;summary,&amp;nbsp;KNN&amp;nbsp;is&amp;nbsp;a&amp;nbsp;supervised&amp;nbsp;learning&amp;nbsp;algorithm&amp;nbsp;that&amp;nbsp;makes&amp;nbsp;predictions&amp;nbsp;on&amp;nbsp;new&amp;nbsp;data,&amp;nbsp;while&amp;nbsp;K-Means&amp;nbsp;is&amp;nbsp;an&amp;nbsp;unsupervised&amp;nbsp;learning&amp;nbsp;algorithm&amp;nbsp;that&amp;nbsp;groups&amp;nbsp;data&amp;nbsp;into&amp;nbsp;clusters.&amp;nbsp;They&amp;nbsp;serve&amp;nbsp;different&amp;nbsp;purposes&amp;nbsp;and&amp;nbsp;are&amp;nbsp;used&lt;/p&gt;
&lt;p style=&quot;background-color: #f0eee5; color: #29261b; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;in&amp;nbsp;different&amp;nbsp;types&amp;nbsp;of&amp;nbsp;machine&amp;nbsp;learning&amp;nbsp;problems.&lt;/p&gt;</description>
      <category>Data Science</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/90</guid>
      <comments>https://kyrakang.tistory.com/90#entry90comment</comments>
      <pubDate>Tue, 16 Apr 2024 13:36:53 +0900</pubDate>
    </item>
    <item>
      <title>[Collocations] Have, Take, Pay</title>
      <link>https://kyrakang.tistory.com/89</link>
      <description>&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Have&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 사고가 나다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 말다툼을 하다/ 논쟁이 있다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 잠깐 쉬는시간을 갖다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 이야기하다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 어려움이 있다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. 꿈/악몽을 꾸다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. 경험이 있다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. ~한 기분이 들다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;9. 좋은 시간을 보내다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10. 살펴보다, 한번 보다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;11. 파티를 하다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;12. 문제가 있다, 어려움이 있다&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;13. 시도하다&lt;/p&gt;
&lt;hr data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. have an accident&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. have an argument&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. have a break&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. have a chat/conversation&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. have difficulty&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. have a dream/nightmare&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. have an experience&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. have a feeling&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;9. have fun/ a good time&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10. have a look&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;11. have a party&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;12. have a problem&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;13. have a try/go&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Take&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. take a holiday&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. take a trip&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. take a bus&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. take a liking to&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. take a risk&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. take a photo&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. take a chance&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. taken a dislike&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;9. take advantage of&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10. take action&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;11. take an interest in&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 휴가를 보내다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 여행 가다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 버스를 타다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 좋아하게 되다, 마음에 들다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 위험을 감수하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. 사진 찍다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. 기회를 잡다/ 이용하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. 싫어지다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;9. 이용하다/ 장점을 활용하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10. 행동하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;11. ~에 관심을 갖기 시작하다&lt;/p&gt;</description>
      <category>English</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/89</guid>
      <comments>https://kyrakang.tistory.com/89#entry89comment</comments>
      <pubDate>Wed, 3 Apr 2024 10:58:52 +0900</pubDate>
    </item>
    <item>
      <title>[Collocations] Make, Do</title>
      <link>https://kyrakang.tistory.com/88</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Make&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* connected with saying things&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;1. 준비를 하다&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 바꾸다, 변화를 주다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 결정하다, 선택하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 말하다, 의견을 제시하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 기여하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 결정하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 노력하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 변명하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 친구를 사귀다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 개선하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 실수를하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 전화하다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 진전이 있다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. make arrangements for&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. make a change&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. make a choice&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. make a comment&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. make a contribution to&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. make a decision&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. make an effort&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. make an excuse&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. make friends&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. make an improvement&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. make a mistake&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. make a phone call&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. make progress&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 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Do&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 최선을 다 하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. damage를 입히다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 실험하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 운동하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 친절을 베풀다, 도와주다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. 피해를 입히다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. 머리하다&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. 숙제를 하다&lt;/p&gt;
&lt;hr data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. do your best&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. do (some) damage&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. do an experiment&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. do exercises&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. do someone a favour&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. do harm&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;7. do your hair&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;8. do your homework&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;9. do the ironing/ shopping/ washing&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10. do some work&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>English</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/88</guid>
      <comments>https://kyrakang.tistory.com/88#entry88comment</comments>
      <pubDate>Fri, 22 Mar 2024 14:06:59 +0900</pubDate>
    </item>
    <item>
      <title>[Udemy] 15 Days of SQL - Day 6 ① : JOINS(Inner join, Outer join, Left outer join, Right outer join</title>
      <link>https://kyrakang.tistory.com/87</link>
      <description>&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;JOIN : combine information from multiple tables in one query&lt;/span&gt;&lt;/h4&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #004e74;&quot;&gt;JOIN 5줄 요약&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #004e74;&quot;&gt;&lt;b&gt;INNER JOIN(내부 조인)&lt;/b&gt;&lt;/span&gt;은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #004e74;&quot;&gt;&lt;b&gt;OUTER JOIN(외부 조인)&lt;/b&gt;&lt;/span&gt;은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #004e74;&quot;&gt;&lt;b&gt;CROSS JOIN(상호 조인)&lt;/b&gt;&lt;/span&gt;은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #004e74;&quot;&gt;&lt;b&gt;SELF JOIN(자체 조인)&lt;/b&gt;&lt;/span&gt;은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.&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 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;1. Inner join&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Combin the two tables in one query&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Always need a common column/reference - join column&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Only rows where reference column value is in both tables&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Order of tables (A and B/ B and A) does not matter&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Repeated values in either table will also be repeated&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1709812448090&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1)
SELECT * FROM TableA
INNER JOIN TableB
ON TableA.employee(column name) = TableB.employee(column name)

2)
SELECT * FROM TableA A
INNER JOIN TableB B
ON A.employee = B.employee

3)
SELECT A.employee FROM TableA A
INNER JOIN TableB B
ON A.employee = B.employee

-- Aliases help with writing &amp;amp; reading the code more easily&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1709812844750&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT payment.*, first_name, last_name -- every column in payment table &amp;amp; 'first_name', 'last_name' column in customer table
FROM payment
INNER JOIN customer
ON payment.customer_id = customer.customer_id&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;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;- if the column is in both tables, specify where it belongs to&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709813109138&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT payment_id,
pa.customer_id,
amount,
first_name,
last_name
FROM payment pa
INNER JOIN customer cu
ON pa.customer_id = cu.customer_id&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;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Write a query to know which category the airline company sells the most tikets. (category : Business, Economy, Comfort)&lt;/p&gt;
&lt;pre id=&quot;code_1709815695555&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
fare_conditions,
COUNT(*)
FROM boarding_passes b
INNER JOIN seats s
ON s.seat_no = b.seat_no
GROUP BY fare_conditions&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;241&quot; data-origin-height=&quot;111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AzDdr/btsFB6zIhQG/WJvwfva8RcbgJUr3MKPoY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AzDdr/btsFB6zIhQG/WJvwfva8RcbgJUr3MKPoY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AzDdr/btsFB6zIhQG/WJvwfva8RcbgJUr3MKPoY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAzDdr%2FbtsFB6zIhQG%2FWJvwfva8RcbgJUr3MKPoY1%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;241&quot; height=&quot;111&quot; data-origin-width=&quot;241&quot; data-origin-height=&quot;111&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;Difficult to solve, need to check it over again&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;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&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;1080&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cB14nZ/btsFIwSg9xh/NFikazddjpF2h9O7OKsPfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cB14nZ/btsFIwSg9xh/NFikazddjpF2h9O7OKsPfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cB14nZ/btsFIwSg9xh/NFikazddjpF2h9O7OKsPfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcB14nZ%2FbtsFIwSg9xh%2FNFikazddjpF2h9O7OKsPfK%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;1080&quot; height=&quot;1080&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1710217699969&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)&quot; data-og-description=&quot;조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부 &quot; data-og-host=&quot;hongong.hanbit.co.kr&quot; data-og-source-url=&quot;https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/&quot; data-og-url=&quot;https://hongong.hanbit.co.kr/sql-기본-문법-joininner-outer-cross-self-join/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/chfEBE/hyVxy78xvm/0IslFEA7BYA2xapKxOdpk1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/Epr6A/hyVxvDBeoW/jVZwwaln0ItqGkadOjBtF1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/FSNCO/hyVxwbqfmA/B4YOSciNEWtDan9mgOjxs1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080&quot;&gt;&lt;a href=&quot;https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/chfEBE/hyVxy78xvm/0IslFEA7BYA2xapKxOdpk1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/Epr6A/hyVxvDBeoW/jVZwwaln0ItqGkadOjBtF1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080,https://scrap.kakaocdn.net/dn/FSNCO/hyVxwbqfmA/B4YOSciNEWtDan9mgOjxs1/img.png?width=1080&amp;amp;height=1080&amp;amp;face=0_0_1080_1080');&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;SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;hongong.hanbit.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;2. Full Outer Join&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1709816278046&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.employee(column name) = TableB.employee(column name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709816670087&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM boarding_passes b
FULL OUTER JOIN tickets t
ON b.ticket_no = t.ticket_no
WHERE b.tickets_no IS null

-- find data where there isn't ticket_no on both boarding_passes and tickets tables

SELECT COUNT(*) FROM boarding_passes b
FULL OUTER JOIN tickets t
ON b.ticket_no = t.ticket_no
WHERE b.tickets_no IS null

-- count how many tickets that don't have ticket numbers&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;3. LEFT OUTER JOIN&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Find how many flights these aircrafts have been used&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Left table : all aircrafts - outputput(default)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Right table : flights&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1710210917349&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM aircrafts_data a
LEFT JOIN flights f
ON a.aircraft_code = f.aircraft_code&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;Find all aircrafts that have not been used in any flight.&lt;/p&gt;
&lt;pre id=&quot;code_1710211214712&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM aircrafts_data a
LEFT JOIN flights f
ON a.aircraft_code = f.aircraft_code
WHERE f.flight_id IS null&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqzHZE/btsFGpsFnvb/KPnVG9pNA6M13giHjTyJ41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqzHZE/btsFGpsFnvb/KPnVG9pNA6M13giHjTyJ41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqzHZE/btsFGpsFnvb/KPnVG9pNA6M13giHjTyJ41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqzHZE%2FbtsFGpsFnvb%2FKPnVG9pNA6M13giHjTyJ41%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;644&quot; height=&quot;76&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;76&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Write a query to find out which seats are the most popular - try to find out which seat has been chosen most frequently.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; Make sure all seats are included even if they have never been booked.&lt;/p&gt;
&lt;pre id=&quot;code_1710212114625&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
s.seat_no,
COUNT(*)
FROM seats s
LEFT JOIN boarding_passes b 
ON s.seat_no = b.seat_no
GROUP BY s.seat_no -- doesn't matter 
ORDER BY COUNT(*) DESC
--WHERE b.seat_no is null&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;243&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beyDtz/btsFHpMtWiN/KwCP3RFrmV304Kle9x0KS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beyDtz/btsFHpMtWiN/KwCP3RFrmV304Kle9x0KS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beyDtz/btsFHpMtWiN/KwCP3RFrmV304Kle9x0KS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeyDtz%2FbtsFHpMtWiN%2FKwCP3RFrmV304Kle9x0KS0%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;243&quot; height=&quot;219&quot; data-origin-width=&quot;243&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. Are there seats that have never been booked?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. Try to find which line (A, B, .., H) has been chosen most frequently.&lt;/p&gt;
&lt;pre id=&quot;code_1710212731202&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
RIGHT(s.seat_no, 1) AS line,
COUNT(*)
FROM seats s
LEFT JOIN boarding_passes b
ON b.seat_no = s.seat_no
GROUP BY RIGHT(s.seat_no, 1)
ORDER BY COUNT(*) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;168&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pkLNa/btsFJlv44yJ/QsO2SYBNMgwp2VvqL9oz5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pkLNa/btsFJlv44yJ/QsO2SYBNMgwp2VvqL9oz5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pkLNa/btsFJlv44yJ/QsO2SYBNMgwp2VvqL9oz5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpkLNa%2FbtsFJlv44yJ%2FQsO2SYBNMgwp2VvqL9oz5k%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;157&quot; height=&quot;168&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;168&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;4. RIGHT OUTER JOIN&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;Rows that are only in the first table will result in the same.&lt;/li&gt;
&lt;li&gt;Left outer join and Right outer join is interchangeable, so left outer join is more commonly used.&lt;/li&gt;
&lt;li&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1710216893265&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1)
SELECT * FROM TableA
RIGHT OUTER JOIN TableB
ON TableA.employee(column name) = TableB.employee(column name)

2)
SELECT * FROM TableB
LEFT OUTER JOIN TableA
ON TableA.employee(column name) = TableB.employee(column name)

-- 1) and 2) will result the same&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. The company wants to run a phone call campaining on all customers in Texas(=district).&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;What are the customers (first_name, last_name, phone number and their district) from Texas?&lt;/p&gt;
&lt;pre id=&quot;code_1710224858075&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
first_name,
last_name,
phone,
district
FROM customer c
LEFT JOIN address a
ON c.address_id = a.address_id
WHERE district = 'Texas'&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;156&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0n3jo/btsFK8wafIy/gmjNtAIzXl8JObohkiImA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0n3jo/btsFK8wafIy/gmjNtAIzXl8JObohkiImA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0n3jo/btsFK8wafIy/gmjNtAIzXl8JObohkiImA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0n3jo%2FbtsFK8wafIy%2FgmjNtAIzXl8JObohkiImA0%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;355&quot; height=&quot;156&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;156&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. Are there any (old) addresses that are not related to any customer?&lt;/p&gt;
&lt;pre id=&quot;code_1710226628127&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM address a
LEFT JOIN customer c
ON c.address_id = a.address_id
WHERE c.customer_id is null

-- this data is only seen in address table&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Data Science/SQL</category>
      <category>15daysofSQL</category>
      <category>Join</category>
      <category>leftouterjoin</category>
      <category>PostgreSQL</category>
      <category>RIGHTOUTERJOIN</category>
      <category>SQL</category>
      <category>udemy</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/87</guid>
      <comments>https://kyrakang.tistory.com/87#entry87comment</comments>
      <pubDate>Tue, 12 Mar 2024 15:59:55 +0900</pubDate>
    </item>
    <item>
      <title>[Udemy] 15 Days of SQL - Day 5 : CASE WHEN, CAST, COALESCE, REPLACE</title>
      <link>https://kyrakang.tistory.com/86</link>
      <description>&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;1. Mathematical Functions and Operators&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708410665797&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
film_id,
rental_rate as old_rental_rate,
CEILING(rental_rate * 1.1) as new_rental_rate
FROM film&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;a href=&quot;https://www.postgresql.org/docs/16/functions-math.html&quot;&gt;https://www.postgresql.org/docs/16/functions-math.html&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1708410646258&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;9.3.&amp;nbsp;Mathematical Functions and Operators&quot; data-og-description=&quot;9.3.&amp;nbsp;Mathematical Functions and Operators # Mathematical operators are provided for many PostgreSQL types. For types without standard mathematical conventions (e.g., &amp;hellip;&quot; data-og-host=&quot;www.postgresql.org&quot; data-og-source-url=&quot;https://www.postgresql.org/docs/16/functions-math.html&quot; data-og-url=&quot;https://www.postgresql.org/docs/16/functions-math.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bpilWG/hyVmU344MT/Pu3Z3QbnK535EpkjK0oKH0/img.png?width=540&amp;amp;height=557&amp;amp;face=0_0_540_557&quot;&gt;&lt;a href=&quot;https://www.postgresql.org/docs/16/functions-math.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.postgresql.org/docs/16/functions-math.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bpilWG/hyVmU344MT/Pu3Z3QbnK535EpkjK0oKH0/img.png?width=540&amp;amp;height=557&amp;amp;face=0_0_540_557');&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;9.3.&amp;nbsp;Mathematical Functions and Operators&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;9.3.&amp;nbsp;Mathematical Functions and Operators # Mathematical operators are provided for many PostgreSQL types. For types without standard mathematical conventions (e.g., &amp;hellip;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.postgresql.org&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;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Write a query to create a list of the films including the relation of rental rate/ replacement cost where the rental rate is less than 4% of the replacement cost.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Create a list of that film_ids together with the percentage rounded to 2 decimal places.&lt;/p&gt;
&lt;pre id=&quot;code_1708411941088&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
film_id,
ROUND(rental_rate / replacement_cost * 100, 2) AS percentage
FROM film
WHERE ROUND(rental_rate / replacement_cost * 100, 2) &amp;lt; 4
ORDER BY 2 ASC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;195&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ptrMg/btsE9FBypE0/qcaLLJAbCvttIdgIkKPPKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ptrMg/btsE9FBypE0/qcaLLJAbCvttIdgIkKPPKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ptrMg/btsE9FBypE0/qcaLLJAbCvttIdgIkKPPKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FptrMg%2FbtsE9FBypE0%2FqcaLLJAbCvttIdgIkKPPKk%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;195&quot; height=&quot;140&quot; data-origin-width=&quot;195&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;2. CASE WHEN&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Like If/Then statement, goes through a set of conditions and returns a value if a condition is met&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Start with 'CASE' and end with 'END'&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708426839105&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result
END&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708426882207&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
actual_departure-scheduled_departure,
CASE
WHEN actual_departure is null THEN 'no departure time',
WHEN actual_departure-scheduled_departure &amp;lt; '00:05' THEN 'On time'
WHEN actual_departure-scheduled_departure &amp;lt; '01:00' THEN 'A little late'
ELSE 'Late'
END
FROM flights&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;205&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/44azO/btsE9F2QQYG/qrXR93iJsAJJV3SWKsKapK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/44azO/btsE9F2QQYG/qrXR93iJsAJJV3SWKsKapK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/44azO/btsE9F2QQYG/qrXR93iJsAJJV3SWKsKapK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F44azO%2FbtsE9F2QQYG%2FqrXR93iJsAJJV3SWKsKapK%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;205&quot; height=&quot;227&quot; data-origin-width=&quot;205&quot; data-origin-height=&quot;227&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;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1) Write a query to find out how many tickets you have sold in the following categories:&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- Low price ticket : total_amount &amp;lt; 20,000&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- Mid price ticket : total_amount between 20,000 and 150,000&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- High price ticket: total_amount &amp;gt;= 150,000&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;How many high price tickets has the company sold?&lt;/p&gt;
&lt;pre id=&quot;code_1708428137250&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1) 

SELECT
COUNT(*),
CASE
WHEN total_amount &amp;lt; 20000 THEN 'low price ticket'
WHEN total_amount &amp;lt; 150000 THEN 'mid price ticket'
WHEN total_amount &amp;gt; 150000 THEN 'high price ticket'
END as ticket_price
FROM bookings
GROUP BY ticket_price



2) model answer

SELECT ticket_price, count(1)
FROM(SELECT
book_ref,
CASE
WHEN total_amount &amp;lt; 20000 THEN 'low price ticket'
WHEN total_amount &amp;lt; 150000 THEN 'mid price ticket'
ELSE 'high price ticket'
END as ticket_price
FROM bookings
) a
GROUP BY ticket_price;&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;background-color: #f3c000;&quot;&gt;* Tips&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;In terms of readability and simplicity, the second approach (directly categorizing data within the main query using CASE statements) is often preferred for straightforward categorizations. It is easier to understand and maintain, especially for simpler scenarios.&lt;br /&gt;On&amp;nbsp;the&amp;nbsp;other&amp;nbsp;hand,&amp;nbsp;using&amp;nbsp;subqueries&amp;nbsp;(like&amp;nbsp;in&amp;nbsp;the&amp;nbsp;first&amp;nbsp;approach)&amp;nbsp;can&amp;nbsp;be&amp;nbsp;advantageous&amp;nbsp;when&amp;nbsp;the&amp;nbsp;categorization&amp;nbsp;logic&amp;nbsp;is&amp;nbsp;complex&amp;nbsp;or&amp;nbsp;when&amp;nbsp;the&amp;nbsp;categorization&amp;nbsp;needs&amp;nbsp;to&amp;nbsp;be&amp;nbsp;reused&amp;nbsp;in&amp;nbsp;multiple&amp;nbsp;queries.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;202&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5K1KP/btsE9DjGJQP/s8YbRUc6bGB6ZaB4SO0Bx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5K1KP/btsE9DjGJQP/s8YbRUc6bGB6ZaB4SO0Bx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5K1KP/btsE9DjGJQP/s8YbRUc6bGB6ZaB4SO0Bx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5K1KP%2FbtsE9DjGJQP%2Fs8YbRUc6bGB6ZaB4SO0Bx1%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;202&quot; height=&quot;120&quot; data-origin-width=&quot;202&quot; data-origin-height=&quot;120&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) Find out how many flights have departed in the following seasons:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Winter : December, January, February&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Spring : March, April, May&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Summer : June, July, August&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Fall : September, October, November&lt;/p&gt;
&lt;pre id=&quot;code_1708429077902&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
COUNT(scheduled_departure),
-- COUNT(*) is also available as we are using EXTRACT and specify 'scheduled_departure' in further lines.
CASE
WHEN EXTRACT(month from scheduled_departure) IN (12, 01, 02) THEN 'Winter'
WHEN EXTRACT(month from scheduled_departure) IN (03, 04, 05) THEN 'Spring'
WHEN EXTRACT(month from scheduled_departure) IN (06, 07, 08) THEN 'Summer'
WHEN EXTRACT(month from scheduled_departure) IN (09, 10, 11) THEN 'Fall'
END as season
FROM flights
GROUP BY season&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;170&quot; data-origin-height=&quot;88&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z5hGS/btsE6Tt0oK0/gmm3m9XCezELWlaLKHZxz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z5hGS/btsE6Tt0oK0/gmm3m9XCezELWlaLKHZxz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z5hGS/btsE6Tt0oK0/gmm3m9XCezELWlaLKHZxz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz5hGS%2FbtsE6Tt0oK0%2Fgmm3m9XCezELWlaLKHZxz0%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;170&quot; height=&quot;88&quot; data-origin-width=&quot;170&quot; data-origin-height=&quot;88&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;3) Create a tier list in the following way:&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Rating is 'PG' or 'PG-13' or length is more than 210 min: 'Great rating or long(tier 1)'&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. Description contains 'Drama' and length is more than 90 min: 'Long drama(tier 2)'&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. Description contains 'Drama' and length is not more than 9 min: 'Short drama(tier 3)'&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. Rental_rate less than $1: 'Very cheap(tier 4)'&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;If one movie can be in multiple categories it gets the higher tier assigned.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;How can you filter to only those movies that appear in one of these 4 tiers?&lt;/p&gt;
&lt;pre id=&quot;code_1708579918281&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
title,
CASE
WHEN rating IN ('PG','PG-13') OR length &amp;gt; 210 THEN 'Great rating or long (tier 1)'
WHEN description LIKE '%Drama%' AND length&amp;gt;90 THEN 'Long drama (tier 2)'
WHEN description LIKE '%Drama%' THEN 'Short drama (tier 3)'
WHEN rental_rate&amp;lt;1 THEN 'Very cheap (tier 4)'
END as tier_list
FROM film
WHERE 
CASE
WHEN rating IN ('PG','PG-13') OR length &amp;gt; 210 THEN 'Great rating or long (tier 1)'
WHEN description LIKE '%Drama%' AND length&amp;gt;90 THEN 'Long drama (tier 2)'
WHEN description LIKE '%Drama%' THEN 'Short drama (tier 3)'
WHEN rental_rate&amp;lt;1 THEN 'Very cheap (tier 4)'
END is not null

--WHERE case is not null cannot be used here as AS doesn't affect WHERE clause
-- try using NULLIF / NVL / COALESCE functions&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;289&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1xzK6/btsE9JlwNy5/KCidUnxPTHUanQ1JDnAs4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1xzK6/btsE9JlwNy5/KCidUnxPTHUanQ1JDnAs4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1xzK6/btsE9JlwNy5/KCidUnxPTHUanQ1JDnAs4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1xzK6%2FbtsE9JlwNy5%2FKCidUnxPTHUanQ1JDnAs4K%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;393&quot; height=&quot;289&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;289&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;3. CASE WHEN &amp;amp; SUM&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Like If/Then statement, goes through a set of conditions and returns a value if a condition is met&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Start with 'CASE' and end with 'END'&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708948790937&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
SUM(CASE
WHEN rating in ('PG', 'G') THEN 1
ELSE 0
END) AS no_of_ratings_with_g_or_pg
FROM film&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U3yPq/btsFlPKTdtw/v0lnvdQOdL4jkOWK2B8ZZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U3yPq/btsFlPKTdtw/v0lnvdQOdL4jkOWK2B8ZZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U3yPq/btsFlPKTdtw/v0lnvdQOdL4jkOWK2B8ZZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU3yPq%2FbtsFlPKTdtw%2Fv0lnvdQOdL4jkOWK2B8ZZ0%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;196&quot; height=&quot;84&quot; data-origin-width=&quot;196&quot; data-origin-height=&quot;84&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708949885742&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
SUM(CASE WHEN rating in ('G') THEN 1 ELSE 0 END) AS &quot;G&quot;,
SUM(CASE WHEN rating in ('R') THEN 1 ELSE 0 END) AS &quot;R&quot;,
SUM(CASE WHEN rating in ('NC-17') THEN 1 ELSE 0 END) AS &quot;NC-17&quot;,
SUM(CASE WHEN rating in ('PG-13') THEN 1 ELSE 0 END) AS &quot;PG-13&quot;,
SUM(CASE WHEN rating in ('PG') THEN 1 ELSE 0 END) AS &quot;PG&quot;
FROM film&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EHjDn/btsFhh2ZRSo/AidzWVGPQ9lvv9gK5wBq1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EHjDn/btsFhh2ZRSo/AidzWVGPQ9lvv9gK5wBq1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EHjDn/btsFhh2ZRSo/AidzWVGPQ9lvv9gK5wBq1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEHjDn%2FbtsFhh2ZRSo%2FAidzWVGPQ9lvv9gK5wBq1k%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;422&quot; height=&quot;68&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;4. COALESCE&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Returns first value of list of values which is not null&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708950088936&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;COALESCE(actual_arrival, scheduled_arrival)

COALESCE(actual_arrival, '1970-01-01 0:00') -- particular values can also be used, if both data types are the same.&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;5. CAST&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Changes the data type of a value&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708950365440&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CAST(scheduled_arrival AS data type)

CAST(scheduled_arrival AS VARCHAR) -- change the data type to text

CAST(schedued_arrival AS DATE) -- timestamp to date&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1708950475566&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
COALESCE(CAST(actual_arrival-scheduled_arrival AS VARCHAR), 'not arrived')
FROM flights&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;130&quot; data-origin-height=&quot;239&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8usXE/btsFhfKM3P4/IKwIeImR6hxnT2zZQrxNZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8usXE/btsFhfKM3P4/IKwIeImR6hxnT2zZQrxNZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8usXE/btsFhfKM3P4/IKwIeImR6hxnT2zZQrxNZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8usXE%2FbtsFhfKM3P4%2FIKwIeImR6hxnT2zZQrxNZ1%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;130&quot; height=&quot;239&quot; data-origin-width=&quot;130&quot; data-origin-height=&quot;239&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;null values have changed to 'not arrived'&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;
&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;6. REPLACE&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Replaces text from a string in a column with another text&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;can be used to remove unnecessary blanks or letters&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;Syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708950972384&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;REPLACE(flight_no, 'PG', '')&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;b&gt;* delete blank space&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1708951555884&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
passenger_id,
REPLACE(passenger_id, ' ', ''), -- delete blanks
CAST(REPLACE(passenger_id, ' ', '') AS BIGINT)
FROM tickets&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;339&quot; data-origin-height=&quot;255&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckAyj8/btsFm57xOlq/eW1wajO61QVy9tjSqOUBUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckAyj8/btsFm57xOlq/eW1wajO61QVy9tjSqOUBUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckAyj8/btsFm57xOlq/eW1wajO61QVy9tjSqOUBUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckAyj8%2FbtsFm57xOlq%2FeW1wajO61QVy9tjSqOUBUK%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;339&quot; height=&quot;255&quot; data-origin-width=&quot;339&quot; data-origin-height=&quot;255&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;b&gt;* remove letters&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1708951626475&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
flight_no,
CAST(REPLACE(flight_no, 'PG', '') AS INT)
FROM flights&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;164&quot; data-origin-height=&quot;206&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MPwAn/btsFhUsVWkF/UrY8vIQ3Zck1X1OA9ky2HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MPwAn/btsFhUsVWkF/UrY8vIQ3Zck1X1OA9ky2HK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MPwAn/btsFhUsVWkF/UrY8vIQ3Zck1X1OA9ky2HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMPwAn%2FbtsFhUsVWkF%2FUrY8vIQ3Zck1X1OA9ky2HK%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;164&quot; height=&quot;206&quot; data-origin-width=&quot;164&quot; data-origin-height=&quot;206&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Data Science/SQL</category>
      <category>15daysofSQL</category>
      <category>caseWhen</category>
      <category>cast</category>
      <category>COALESCE</category>
      <category>PostgreSQL</category>
      <category>Replace</category>
      <category>SQL</category>
      <category>udemy</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/86</guid>
      <comments>https://kyrakang.tistory.com/86#entry86comment</comments>
      <pubDate>Mon, 26 Feb 2024 21:50:16 +0900</pubDate>
    </item>
    <item>
      <title>[Udemy] 15 Days of SQL - Day 4 ②  : EXTRACT, TO_CHAR, Timestamp</title>
      <link>https://kyrakang.tistory.com/85</link>
      <description>&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;6. EXTRACT&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span&gt;Used to extract parts of timestamp/date&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span&gt;Syntax&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708405953275&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;EXTRACT (field from date/time/interval)

SELECT
EXTRACT(day from rental_date),
COUNT(*)
FROM rental
GROUP BY EXTRACT(day from rental_date)
ORDER BY COUNT(*) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;161&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2PPvU/btsE1CT2s9o/klASFrCZe8IjU9QT4zTLMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2PPvU/btsE1CT2s9o/klASFrCZe8IjU9QT4zTLMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2PPvU/btsE1CT2s9o/klASFrCZe8IjU9QT4zTLMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2PPvU%2FbtsE1CT2s9o%2FklASFrCZe8IjU9QT4zTLMK%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;161&quot; height=&quot;159&quot; data-origin-width=&quot;161&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Write a query&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to find out the following:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1)&amp;nbsp; What's the month with the highest total payment amount?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2)&amp;nbsp; What's the day of week with the highest total payment amount?(0 is Sunday)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3)&amp;nbsp; What's the highest amount one customer has spent in a week?&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1708405953276&quot; class=&quot;routeros&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;--#1
SELECT
EXTRACT(month from payment_date) AS month,
SUM(amount) AS total_payment_amount
FROM payment
GROUP BY EXTRACT(month from payment_date)
-- GROUP BY month can also be fine as we named it as 'month' in line 3
ORDER BY SUM(amount) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;248&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5sQup/btsE7thbFNs/mtcbFKFe9RpK27abTVBRZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5sQup/btsE7thbFNs/mtcbFKFe9RpK27abTVBRZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5sQup/btsE7thbFNs/mtcbFKFe9RpK27abTVBRZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5sQup%2FbtsE7thbFNs%2FmtcbFKFe9RpK27abTVBRZ1%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;248&quot; height=&quot;161&quot; data-origin-width=&quot;248&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953276&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;--#2
SELECT
EXTRACT(week from payment_date) as day_of_week,
SUM(amount) as total_payment_amount, 
customer_id
FROM payment
GROUP BY EXTRACT(week from payment_date), customer_id
-- GROUPY BY day_of_week, customer_id
ORDER BY SUM(amount) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;364&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vtHiL/btsE5DLCCTw/4nnJ9kmt2JSNLF0KHFfUHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vtHiL/btsE5DLCCTw/4nnJ9kmt2JSNLF0KHFfUHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vtHiL/btsE5DLCCTw/4nnJ9kmt2JSNLF0KHFfUHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvtHiL%2FbtsE5DLCCTw%2F4nnJ9kmt2JSNLF0KHFfUHK%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;364&quot; height=&quot;143&quot; data-origin-width=&quot;364&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953276&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- #3
SELECT
EXTRACT(dow from payment_date),
SUM(amount)
FROM payment
GROUP BY EXTRACT(dow from payment_date)
ORDER BY SUM(amount) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;7. TO_CHAR&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span&gt;Used to get custome formats timestamp/date/numbers&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;span&gt;Syntax&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708405953277&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;TO_CHAR(date/time/interval, format)
TO_CHAR(rental_date, 'MM-YYYY')

SELECT
SUM(amount),
TO_CHAR(payment_date, 'Dy, Month YYYY')
FROM payment
GROUP BY TO_CHAR(payment_date, 'Dy, Month YYYY')&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;210&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhm99/btsE9QJG0EF/27kzFPMvumC8gYkEY3hRd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhm99/btsE9QJG0EF/27kzFPMvumC8gYkEY3hRd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhm99/btsE9QJG0EF/27kzFPMvumC8gYkEY3hRd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flhm99%2FbtsE9QJG0EF%2F27kzFPMvumC8gYkEY3hRd1%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;210&quot; height=&quot;194&quot; data-origin-width=&quot;210&quot; data-origin-height=&quot;194&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;reference document :&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.postgresql.org/docs/current/functions-formatting.html&quot;&gt;https://www.postgresql.org/docs/current/functions-formatting.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Write a query&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to sum payments and group in the following formats&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;111&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AmPtb/btsE7ve3gYp/LWJZ2X1EviG98KxpVJasfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AmPtb/btsE7ve3gYp/LWJZ2X1EviG98KxpVJasfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AmPtb/btsE7ve3gYp/LWJZ2X1EviG98KxpVJasfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAmPtb%2FbtsE7ve3gYp%2FLWJZ2X1EviG98KxpVJasfk%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;220&quot; height=&quot;111&quot; data-origin-width=&quot;220&quot; data-origin-height=&quot;111&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953278&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
SUM(amount) AS total_amount,
TO_CHAR(payment_date, 'Dy, DD/MM/YYYY') AS day
FROM payment
GROUP BY TO_CHAR(payment_date, 'Dy, DD/MM/YYYY')
ORDER BY SUM(amount) ASC&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;189&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dT0Wlx/btsE9S1PlmX/PKm3ZbvlvzIT7hympBpfmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dT0Wlx/btsE9S1PlmX/PKm3ZbvlvzIT7hympBpfmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dT0Wlx/btsE9S1PlmX/PKm3ZbvlvzIT7hympBpfmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdT0Wlx%2FbtsE9S1PlmX%2FPKm3ZbvlvzIT7hympBpfmK%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;189&quot; height=&quot;114&quot; data-origin-width=&quot;189&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953278&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
SUM(amount) AS total_amount,
TO_CHAR(payment_date, 'Mon,YYYY') AS day
FROM payment
GROUP BY TO_CHAR(payment_date, 'Mon,YYYY')
ORDER BY SUM(amount) ASC&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;181&quot; data-origin-height=&quot;139&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kBf7l/btsE8PROvKt/UHf4BsKt0vAyKKhUOdDk61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kBf7l/btsE8PROvKt/UHf4BsKt0vAyKKhUOdDk61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kBf7l/btsE8PROvKt/UHf4BsKt0vAyKKhUOdDk61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkBf7l%2FbtsE8PROvKt%2FUHf4BsKt0vAyKKhUOdDk61%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;181&quot; height=&quot;139&quot; data-origin-width=&quot;181&quot; data-origin-height=&quot;139&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953278&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
SUM(amount) AS total_amount,
TO_CHAR(payment_date, 'Dy,HH:MI') AS day
FROM payment
GROUP BY TO_CHAR(payment_date, 'Dy,HH:MI')
ORDER BY SUM(amount) DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;8. Timestamp and Interval&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;Used to get a current timestamp&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708405953279&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT CURRENT_TIMESTAMP&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;213&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2ChEm/btsE3oVukms/kwb1OC7bkg9prpSVYHGdcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2ChEm/btsE3oVukms/kwb1OC7bkg9prpSVYHGdcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2ChEm/btsE3oVukms/kwb1OC7bkg9prpSVYHGdcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2ChEm%2FbtsE3oVukms%2Fkwb1OC7bkg9prpSVYHGdcK%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;213&quot; height=&quot;68&quot; data-origin-width=&quot;213&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Used to get an intervals between dates&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708405953279&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
CURRENT_TIMESTAMP,
rental_date,
CURRENT_TIMESTAMP - rental_date
FROM rental&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;139&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eq1PtU/btsE9OSDNQk/NCSEr2WqvqZ3tfVYmkBkk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eq1PtU/btsE9OSDNQk/NCSEr2WqvqZ3tfVYmkBkk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eq1PtU/btsE9OSDNQk/NCSEr2WqvqZ3tfVYmkBkk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feq1PtU%2FbtsE9OSDNQk%2FNCSEr2WqvqZ3tfVYmkBkk1%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;557&quot; height=&quot;139&quot; data-origin-width=&quot;557&quot; data-origin-height=&quot;139&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Used with EXTRACT to extract particular numbers&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1708405953279&quot; class=&quot;pgsql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
CURRENT_TIMESTAMP,
rental_date,
EXTRACT(day from CURRENT_TIMESTAMP - rental_date)
FROM rental&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duk2po/btsE6QDHqBO/H8zqEnBkqKZBC06OkWvNe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duk2po/btsE6QDHqBO/H8zqEnBkqKZBC06OkWvNe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duk2po/btsE6QDHqBO/H8zqEnBkqKZBC06OkWvNe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fduk2po%2FbtsE6QDHqBO%2FH8zqEnBkqKZBC06OkWvNe1%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;143&quot; data-origin-width=&quot;455&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&lt;i&gt;* Challenge&lt;/i&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Write a query&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to create a list for the support team of all rental durations of customer with customer_id 35.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Find out which customer has the longest average rental duration.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1708405953279&quot; class=&quot;n1ql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
customer_id,
return_date - rental_date AS rental_durations
FROM rental
WHERE customer_id = 35&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;109&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmi8DX/btsE3nbfzZP/f5jSrvMcBlk3EKK61vX0jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmi8DX/btsE3nbfzZP/f5jSrvMcBlk3EKK61vX0jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmi8DX/btsE3nbfzZP/f5jSrvMcBlk3EKK61vX0jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmi8DX%2FbtsE3nbfzZP%2Ff5jSrvMcBlk3EKK61vX0jk%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;226&quot; height=&quot;109&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;109&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1708405953280&quot; class=&quot;n1ql&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
customer_id,
AVG(return_date - rental_date) AS avg
FROM rental
GROUP BY customer_id
ORDER BY avg DESC&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;255&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpc8OZ/btsE5CeTZah/3W3twj21KQSa3WkoE9kUG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpc8OZ/btsE5CeTZah/3W3twj21KQSa3WkoE9kUG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpc8OZ/btsE5CeTZah/3W3twj21KQSa3WkoE9kUG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpc8OZ%2FbtsE5CeTZah%2F3W3twj21KQSa3WkoE9kUG1%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;255&quot; height=&quot;161&quot; data-origin-width=&quot;255&quot; data-origin-height=&quot;161&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;</description>
      <category>Data Science/SQL</category>
      <category>15daysofSQL</category>
      <category>Extract</category>
      <category>PostgreSQL</category>
      <category>SQL</category>
      <category>timestamp</category>
      <category>TO_CHAR</category>
      <category>udemy</category>
      <author>kyra</author>
      <guid isPermaLink="true">https://kyrakang.tistory.com/85</guid>
      <comments>https://kyrakang.tistory.com/85#entry85comment</comments>
      <pubDate>Tue, 20 Feb 2024 14:13:57 +0900</pubDate>
    </item>
  </channel>
</rss>