Python

[1209 TIL] SQL코드카타(date_format, sum), Python 1주차

sjy0074 2024. 12. 9. 23:07

오늘 오전 코드카타 시간에서 끝까지 고민으로는 답이 안나왔던 부분에 대해서만 간단히 적고 오늘부터 들은 파이썬 강의를 요약해서 적어놓고자 한다.

 

date_format(column,'%Y-%m-%d')

-> Y를 대문자로 적어야 2024-12-09 와 같이 네 글자로 출력되고, 소문자 y로 적으면 24-12-09와 같이 두 글자로 출력되므로 주의

 

문제

'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 출판일을 기준으로 오름차순 정렬해주세요.

-- 코드를 입력하세요
SELECT b.book_id,
       a.author_name,
       b.published_date
from book b join author a on b.author_id = a.author_id
order by 3

이게 처음 작성한 오답

 

-- 코드를 입력하세요
SELECT b.book_id, a.author_name,
       date_format(b.published_date,'%Y-%m-%d') as published_date
from book b join author a on b.author_id = a.author_id
where b.category ='경제'     --문제를 잘 읽고 조건도 잘 달아주기..
order by b.published_date asc 

정답

 


sum

->문제를 잘 읽고 총주문량, 총 합계 등과 같은 말이 있으면 잊지 말고 sum함수를 사용해야함

 

문제

상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.

-- 코드를 입력하세요
SELECT i.ingredient_type, 
       f.total_order
from first_half f join icecream_info i on f.flavor = i.flavor
group by 1
order by total_order asc

처음 작성한 오답

 

-- 코드를 입력하세요
SELECT i.ingredient_type, 
       sum(f.total_order) as total_order
from first_half f join icecream_info i on f.flavor = i.flavor
group by 1
order by 2 asc

 

 

 

 

 

 

 

 

 

 


Python 종합반 인강 1,2주차와 라이브세션 1주차를 수강했다.

 

 파이썬 : 프로그래밍 언어

특징 : 간결하고 이해하기 쉬움

 

colab 단축키 

코드실행 : Shift Enter

새 코드 셀 추가 : Ctrl M A

코드 셀 삭제 : Ctrl M D

코드 셀 분할 : Ctrl M -

셀 유형 변경 : Ctrl M M

 

출력문   :    print()

ex) x =10 
print (x)

-> 출력값 : 10

 

print("변수 x의 값은", x, "입니다.")

->출력값 : 변수 x의 값은 10입니다.

 

 

변수의 종류

1) 문자열

문자열은 작은따옴표('')나 큰따옴표("")로 감싸서 선언한다.

# 문자열 변수 선언
name = 'Alice'
greeting = 'Hello,World!'

 

full greeting = greeting + "My name is " + name
print(full greeting) 

->출력값 : "Hello,World! My name is Alice"

 

2)숫자열

정수(int)나 실수(float) 형태의 숫자열은 그냥 변수에 할당하면 된다.

 

정수 : 1,2,3,-1,-2,-3

실수 : 3.14 , -0.5

*숫자열 변수끼리 사칙연산이 가능하며, 나눗셈의 경우 / 연산자를 사용하면 실수로 결과가 반환됨, // 연산자를 사용하면 정수

나머지 연산자인 %사용하면 나머지 계산 가능

(+정수와 실수를 계산하면 그 값은 실수)

 

 

3) 불리언(Boolean)

: 주어진 조건이 참(True) 또는 거짓(False)을 나타내는 데 사용

->조건식을 평가하는 데 매우 중요하며 데이터 분석에서도 자주 활용

# Boolean 변수 선언
is_raining = True
is_sunny = False



# 비교 연산자를 사용하여 Boolean 값 비교
x = 10
y = 5

greater_than = x > y
print(greater_than)  # True 출력

 

4)NaN (결측값)

: NaN(Not a Number)은 데이터에서 결측치(missing value)를 나타내는 특수한 값

->정의할 수 없는 수치값. 예를 들어, 0으로 나누는 연산이나 유효하지 않은 수학적 연산 결과를 나타낼 때 사용

 

수학 연산에서 :

# 0으로 나누는 연산
result = 1 / 0
print(result)  # 출력: Infinity

import math

# 유효하지 않은 수학적 연산
result = math.sqrt(-1)
print(result)  # 출력: nan
데이터 프레임에서 : 

import pandas as pd

# NaN을 포함한 데이터프레임 생성
data = {'A': [1, 2, None],
        'B': [3, None, 5]}
df = pd.DataFrame(data)

print(df)
# 출력:
#      A    B
# 0  1.0  3.0
# 1  2.0  NaN
# 2  NaN  5.0

 

5) input : 삽입

name = input("이름을 입력하세요: ")
print("안녕하세요,", name, "님!")