본문 바로가기

SQL36

[SQL문법] 날짜, 시간 더하기 (DATE_ADD, DATE_SUB) 날짜, 시간 더하기 DATE_ADD DATE_ADD(기준 날짜, INTERVAL) EX) '2023-01-01 01:00:00' 에 날짜, 시간 더하기 # 1초 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 SECOND) # [OUT] '2023-01-01 01:00:01' # 1시간 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 HOUR) # [OUT] '2023-01-01 02:00:00' # 1일 더하기 SELECT DATE_ADD('2023-01-01 01:00:00', INTERVAL 1 DAY) # [OUT] '2023-01-02 02:00:00' EX) '2023-01-01 01:00:00' .. 2022. 12. 9.
[프로그래머스]Lv5. 상품을 구매한 회원 비율 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답코드 SELECT YEAR, MONTH , COUNT(*) AS PUCHASED_USERS , ROUND((COUNT(*)/ (SELECT COUNT(*) FROM USER_INFO WHERE YEAR(JOINED) = 2021)), 1) AS PUCHASED_RATIO FROM ( SELECT DISTINCT YEAR(S.SALES_DATE) AS YEAR, MONTH(S.SALES_.. 2022. 12. 6.
[프로그래머스] Lv3. 오랜 기간 보호한 동물(1) (2) / LEFT JOIN 오랜 기간 보호한 동물(1) https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 데이터 조회 # 1 SELECT INS.animal_id, INS.datetime, OUTS.animal_id FROM animal_ins INS LEFT JOIN animal_outs OUTS ON INS.animal_id = OUTS.animal_id WHERE OUTS.animal_id IS NULL -- INS테이블에는 있으나 입양가지 않은 animal_id는 .. 2022. 12. 5.
[SQL 문법] SUBSTR 특정 문자 추출 , LENGTH / CHAR_LENGTH 길이 추출, INSTR 위치 추출 1. SUBSTR(문자, 시작, 끝) SELECT SUBSTR ('SMITH',1,3) name -- 'SMITH'에서 1번째부터 3번째까지 문자추출 FROM DUAL; 2. LENGTH(문자) 문자의 byte 길이를 반환, 한글같은 문자는 정확한 길이를 가져오기 어려움. SELECT ename, LENGTH(ename) FROM emp; LENGTHB : 바이트의 길이를 반환 (한글은 한글자에 3바이트) SELECT LENGTHB('가나다라마') FROM DUAL; 3. CHAR_LENGTH(문자) 또는 CHARACTER_LENGTH(문자) LENGTH처럼 byte가 아니라 문자가 몇개가 있는지 그대로 반환해줌 SELECT CHAR_LENGTH('HELLO') SELECT CHARACTER_LENGTH.. 2022. 12. 3.
[프로그래머스] Lv3. 있었는데요 없었습니다 / 없어진 기록 찾기 💡문제 - 있었는데요 없었습니다 https://school.programmers.co.kr/learn/courses/30/lessons/59043 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 보호 시작일보다 입양일이 더 빠른 데이터 조회 SELECT A.animal_id, A.datetime, B.datetime FROM animal_ins A LEFT JOIN animal_outs B ON A.animal_id = B.animal_id WHERE A.datetime > B.datetime ORDER BY A.datetime 정답코드 SELECT A.. 2022. 12. 1.
[프로그래머스] Lv5. 상품을 구매한 회원 비율 구하기 / JOIN 💡문제 처음 제출한 코드 SELECT YEAR(O.sales_date), MONTH(O.sales_date), COUNT(U.user_id) AS PUCHASED_USERS FROM user_info U JOIN online_sale O ON U.user_id = O.user_id WHERE Year(U.joined) = 2021 GROUP BY YEAR(O.sales_date), MONTH(O.sales_date) 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수) 테이블 필요 정답 코드 # 1 - WITH문 WITH rate AS (SELECT COUNT(DISTINCT user_id) rate_user -- 2021년에 가입한 회원수.. 2022. 11. 28.