SQL

SQL

SQLAlchemy ORM(postgresql 연결) | 파이썬에서 ORM 사용하기, SELECT, JOIN, CAST, UNION, LABEL 등 자주 쓰는 문법 정리

Flask restx를 사용하여 API를 구축할 일이 있어 ORM을 사용하여 데이터베이스와 연결하였다. 데이터베이스 연결 및 ORM을 사용할 수 있도록 제공되는 파이썬 라이브러리로는 SQLAlchemy가 있다. SQLAlchemy를 사용하면 쿼리를 코드에서 실행할 수 있으며 ORM을 통해 데이터베이스와 연결 후 작업이 가능하다. 먼저 데이터베이스와 연결하는 작업이 필요하다. 가장 먼저 sqlalchemy.create_engine 함수를 이용하여 데이터베이스와 연결해 주는 엔진을 만들어야 한다. 나는 postgresql을 사용하고 있으며 "postgresql://db id:db pw@ip:port/db 이름"을 사용하여 엔진을 생성해주었다. 데이터베이스와의 소통을 관리해주는 세션을 로드하여 사용하여야 한다..

SQL

프로그래머스 고득점 Kit | DATETIME에서 DATE로 형 변환 | String, Date

https://programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr datetime으로 된 날짜를 string으로 바꾸는 문제였고 파이썬과 비슷하게 '%Y-%m-%d'를 사용하여 변환을 할 수 있다. 정답 코드 SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,'%Y-..

SQL

프로그래머스 고득점 Kit | 없어진 기록 찾기 | JOIN

https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr JOIN을 설명을 자세하고 친절하게 설명해둔 블로그가 있어서 https://blog.naver.com/limsomang628/222540862439 위의 링크를 참고하면서 문제를 풀었다. 정답 코드 SELECT OUTS.ANIMAL_ID, OUTS.NA..

SQL

프로그래머스 고득점 Kit | 중성화 여부 파악하기 | String, Date

https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr CASE WHEN 조건 THEN 참일 때 대체할 내용 ELSE 거짓일 때 대체할 내용 END 위의 CASE를 사용해서 문자로 대체할 수 있었다. 이때 조건은 여러개 들어갈 수 있으며 여기선 or로 하나의 조건으로 묶었다. case when then ..

SQL

프로그래머스 고득점 Kit | 이름에 el이 들어가는 동물 찾기 | String, Date

https://programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문자열이 포함되었는지 확인하기 위해 LIKE를 사용하면 된다. %문자열% 을 사용하여 이 문자열이 포함되는지 아닌지 확인할 수 있다. 문자열이 맨 앞에 있는 경우엔 문자열% 로 사용하면 되고 문자열이 맨 뒤에 있는 경우에는 %문자열 로 ..

SQL

프로그래머스 고득점 Kit | 루시와 엘라 찾기 | String, Date

https://programmers.co.kr/learn/courses/30/lessons/59046 코딩테스트 연습 - 루시와 엘라 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr NAME을 해당 이름과 비교하여 일치하면 출력하도록 where문을 사용했다. 정답 코드 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME = 'Lucy' OR NAME = 'Ella'..

SQL

프로그래머스 고득점 Kit | 중복 제거하기 | SUM, MAX, MIN

https://programmers.co.kr/learn/courses/30/lessons/59408 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 중복을 제거하는 방법으로 DISTINCT가 있다. 이를 이용하면 간단하게 풀 수 있는 문제이다. 정답 코드 SELECT COUNT(DISTINCT NAME) AS COUNT FROM ANIMAL_INS 해당 문제 풀이 코드 GitHub - YOOHYOJEO..

SQL

프로그래머스 고득점 Kit | 동물 수 구하기 | SUM, MAX, MIN

https://programmers.co.kr/learn/courses/30/lessons/59406 코딩테스트 연습 - 동물 수 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 총 동물의 수가 얼마인지 count를 써서 구할 수 있는 문제였다. 정답 코드 SELECT COUNT(ANIMAL_ID) AS COUNT FROM ANIMAL_INS; 해당 문제 풀이 코드 GitHub - YOOHYOJEONG/SQL_study: SQL ..

SQL

프로그래머스 고득점 Kit | 최대값 구하기, 최소값 구하기 | SUM, MAX, MIN

https://programmers.co.kr/learn/courses/30/lessons/59415 코딩테스트 연습 - 최댓값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr https://programmers.co.kr/learn/courses/30/lessons/59038 코딩테스트 연습 - 최솟값 구하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다..

SQL

프로그래머스 고득점 Kit | 입양 시각 구하기 (1), 입양 시각 구하기(2) | GROUP BY |

https://programmers.co.kr/learn/courses/30/lessons/59412 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 입양 시각 구하기 (1) 정답 코드 SELECT HOUR(DATETIME), COUNT(DATETIME) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) > 8 AND HOUR(DATETIME) < 20 GROUP BY HOUR(DATETIM..

토오오끼
'SQL' 카테고리의 글 목록