SQL | WITH, WITH RECURSIVE를 사용해 임시 테이블 만들기
·
TIL/기타
PCSQL을 준비하며 프로그래머스 SQL 문제들을 격파하는 중 WITH문을 사용한 풀이가 굉장히 많아서 간단하게 정리해 보았다. 일단 WITH는 임시 테이블을 만들 때 사용된다.WITH 이름 AS ( SELECT ...) WHERE절에 서브쿼리를 사용하거나 JOIN 할 때도 복잡한 쿼리문이 사용되는 경우가 종종 있는데,이럴 때 WITH를 사용해 만든 테이블을 사용하면 쿼리가 훨씬 가독성이 좋아지고 머리도 덜 복잡해질 수 있을 것이다. 다음으로, WITH RECURSIVE는 일종의 재귀함수라고 볼 수 있다. WITH처럼 임시테이블을 만드는 것은 똑같지만, REVURSIVE라는 영단어의 뜻에서도 알 수 있듯이 반복적으로 값을 만들어내야 하는 경우에 사용된다. 이 글을 쓰게 된 이유가 바로 ..
SQL | ORDER BY 절에서 별칭을 사용할 땐 문자인지 숫자인지 확인하세요
·
TIL/기타
또 ORDER BY 절의 함정에 빠졌다. 관련 문제 - [프로그래머스] 노선별 평균 역 사이 거리 조회하기 내가 제출한 코드SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE, -- 총 누계 거리 CONCAT(ROUND(AVG(D_BETWEEN_DIST), 2), 'km') AS AVERAGE_DISTANCE -- 평균 역 사이 거리FROM SUBWAY_DISTANCEGROUP BY ROUTEORDER BY TOTAL_DISTANCE DESC; -- 여기가 문제 문제에서는 총 누계 거리를 기준으로 내림차순 정렬을 요구했다. 그래서 당연히 GROUP BY 절에 TOTAL_DISTANCE 컬럼명을 써주었지..
SQL | ORDER BY 절에서 별칭을 사용할 땐 따옴표를 쓰지 마세요
·
TIL/기타
프로그래머스 SQL 문제를 풀던 중 잘못된 게 없는 거 같은데 계속 틀렸다고 나와서GPT선배에게 코드 리뷰 요청드렸더니 ORDER BY 절이 잘못되었다고 답변 주셨다. 관련 문제 - [프로그래머스] 진료과별 총 예약 횟수 출력하기 내가 제출했던 코드select mcdp_cd as 진료과코드, count(mcdp_cd) as 5월예약건수from appointmentwhere apnt_ymd > '2022-04-30' and apnt_ymd 결론부터 정리하자면, ORDER BY 절에서 별칭(alias) 사용은 가능그러나, 별칭은 그대로 줘야 하며 따옴표를 사용하면 안 됨select mcdp_cd as 진료과코드, count(mcdp_cd) as 5월예약건수from appointmentwhere apn..
회고 | 0년차와 2년차 그 사이 어디쯤에 있는 개발자의 회고
·
TIL/기타
회사에 입사한 지 벌써 1년이 된 2025년 4월. 몇 년 차 개발자시죠?ㄴ 0에서 2년 차요^^! 정말 정말 운 좋게 사회로 나갈 준비를 시작조차 하지 않는 시점에 회사에 입사하게 되었고, 벌써 1년이 지났다.나에겐 너무나 과분한 회사라 항상 감사하며 기분 좋게 출근하는 하루하루(퇴근하고 싶다가 말버릇이 되었지만..) 1년간 회사에서 겪은 많은 변화들에 대해 하나하나 적어보려 한다. 안녕하세요. 프론트엔드 개발자입니다.음. 근 1년간 블로그에 쓴 글에서도 느낄 수 있었겠지만 나는 프론트엔드 개발자가 되었다. 대학교 1학년 웹 프로그래밍 전공 수업.. 오직 html, css만을 가지고 과제를 해오라는 수업그 이후로 웹 개발에 대해서는 손가락 발가락도 담가본 적이 없었다. 하지만, 취업 준비를 위해 수강했..
javascript | splice 메소드
·
TIL/javascript
자바스크립트에서 splice()는 배열의 요소를 추가, 제거하거나 교체할 때 유용하게 쓰이는 메소드이다.array.splice(start, deleteCount, [item1, item2, ...])start: 시작 인덱스음수인 경우 배열의 끝에서부터 세어나감배열의 길이보다 큰 경우 0으로 간주deleteCount: 제거할 요소의 개수0이면 제거되지 않음생략하면 배열의 끝까지로 간주item1, item2, ...: 배열에 추가할 요소지정하지 않으면 삭제 기능만 수행 1. 요소 삭제2번 인덱스에서부터 2개의 요소를 삭제한다.** splice 메소드는 삭제된 요소를 반환한다.let array = ['a', 'b', 'c', 'd', 'e'];let removed = array.splice(2, 2); con..
javascript | 문자열 반복 repeat()
·
TIL/javascript
자바스크립트에서 문자열을 원하는 만큼 반복시키고 싶으면 repeat 함수를 사용할 수 있다.파이썬에서 문자열에 *를 사용하는 원리와 같다.str.repeat(n)  이때, n은 0 이상의 양수이어야 하며 양의 무한대보다 작아야 한다.그렇지 않으면 RangeError가 발생할 수 있다.  'hello'.repeat(3); // 3번 -> 'hellohellohello''hello'.repeat(1.7); // 1번 -> 'hello''hello'.repeat(5.2); // 5번 -> 'hellohellohellohellohello''hello'.repeat(0); // 0번 -> ''  n이 소수인 경우에는 소수점 아래는 버리고 정수 부분만큼만 반복한다.또한, n=0이면 결과값이 빈 문자열이 되는 ..