문제 코드SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION = 'Sick'GROUP BY ANIMAL_ID; 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/59035
문제 코드SELECT NAME, DATETIMEFROM ANIMAL_INSORDER BY ANIMAL_ID DESC; 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/59035
지역 두개를 병합하여 새로운 행 추가 import pandas as pddef sum_rows(year, region, df, regions): new_row = ( df.loc[ # 조건 (df['년도'] == year) & (df['시군구'].isin(regions)) # 가져올 열 ][['노인비율', '노인수', '총인구']] .apply(pd.to_numeric, errors='coerce').sum() ) new_row['시군구'] = region new_row['년도'] = year df.drop(selected_rows.index, inplace=True) ..
사용 패키지 설치!pip install dbfread .dbf 파일 불러오기from dbfread import DBFdbf = DBF('파일이름.dbf', encoding='utf-8')for record in dbf: print(record) .csv로 저장하기import pandas as pddata = [record for record in dbf]df = pd.DataFrame(data)df.to_csv('파일이름.csv', index=False, encoding='utf-8')print('csv로 저장 완료~~') 전체 코드!pip install dbfreadimport pandas as pdfrom dbfread import DBFdbf = DBF('파일이름.dbf', encoding=..
모든 csv 결합import pandas as pdimport glob# 합칠 CSV 파일이 있는 폴더 경로folder_path = './데이터폴더/*.csv'# 모든 CSV 파일을 읽어 리스트에 저장csv_files = glob.glob(folder_path)# 각 CSV 파일을 읽어서 리스트에 추가dataframes = [pd.read_csv(file) for file in csv_files]# 리스트의 모든 데이터프레임을 한 번에 합치기combined_df = pd.concat(dataframes, ignore_index=True)# 합쳐진 데이터프레임을 새로운 CSV 파일로 저장combined_df.to_csv('파일이름.csv', index=False)print('CSV 파일이 성공적으로 합쳐졌..
1) INSERT: 행 삽입하기 INSERT INTO DEPARTMENTS(DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID) VALUES (271, 'Sample_Dept', 200, 1700); INSERT INTO DEPARTMENTS VALUES (272, 'Sample_Dept', 200, 1700); commit; 2) UPDATE: 행 갱신하기'Sample_Dept' 부서의 ID를 업데이트 UPDATE DEPARTMENTS SET MANAGER_ID = 201, LOCATION_ID = 1800 WHERE DEPARTMENT_NAME = 'Sample_Dept'; SELECT * FROM DEPARTMENTS;COMMIT;-- 서브쿼리를 사용..
1) 단일 행 서브쿼리 SELECT FIRST_NAME FROM EMPLOYEES WHERE SALARY = (SELECT MIN(SALARY) FROM EMPLOYEES); -- 예제 'De Haan'과 salary가 동일한 직원 SELECT * FROM EMPLOYEES A WHERE A.SALARY = ( SELECT SALARY FROM EMPLOYEES WHERE LAST_NAME = 'De Haan' ); -- '=': 단일 행 연산자 -- 'Taylor'와 salary가 동일한 직원은? SELECT SALARY FROM EMPLOYEES WHERE LAST_NAME = 'Taylor';..
1) 동등 조인-- 동등 조인(Inner Join) SELECT TO_CHAR(e.hire_date, 'MM'), SUM(j.max_salary) FROM EMPLOYEES E, JOBS J WHERE (E.JOB_ID = J.JOB_ID) GROUP BY TO_CHAR(e.hire_date, 'MM'); -- ANSI 조인 SELECT TO_CHAR(e.hire_date, 'MM'), SUM(j.max_salary) FROM EMPLOYEES E INNER JOIN JOBS J ON (E.JOB_ID = J.JOB_ID) GROUP BY TO_CHAR(e.hire_date, 'MM'); -- 예제SELECT A.EMPLOYEE_ID, A.DEPARTMENT_ID, B.DEPARTMENT_NAME, ..
1) 문자 타입 함수 -- LOWER, UPPER, INITCAP: 대소문자로 변환 SELECT LAST_NAME, LOWER(LAST_NAME) AS LOWER적용, UPPER(LAST_NAME) AS UPPER적용, EMAIL, INITCAP(EMAIL) AS INITCAP적용 FROM EMPLOYEES; -- LOWER: 소문자로 / UPPER: 대문자로 / INITCAP: 첫글자만 대문자로 SELECT SALARY, LOWER(SALARY), HIRE_DATE, LOWER(HIRE_DATE) FROM EMPLOYEES;-- SUBSTR() 함수: 지정한 길이만큼 문자열 추출 SELECT JOB_ID, SUBSTR(JOB_ID, 1, 2) 적용결과 FROM EM..