본문 바로가기

BackEnd17

SQL공부 feat. 프로그래머스 (4) (CASE-WHEN-ELSE-END) CASE WHEN ELSE END 중성화 여부 파악하기 링크: https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&statuses=unsolved&levels=1%2C2&languages=mysql -- 코드를 입력하세요 SELECT animal_id, NAME, ( CASE WHEN sex_upon_intake LIKE "neutered%" OR sex_upon_intake LIKE "spayed%" THEN "o" ELSE "x" END ) AS 중성화 FROM animal_ins ORDER BY animal_id; 조건에 부합하는 중고거래 상태 조회하기 링크: https://school.programmers.co.kr/le.. 2023. 3. 19.
SQL공부 feat. 프로그래머스 (3) (JOIN - ON, GROUP BY - HAVING) JOIN - ON -- 코드를 입력하세요 SELECT A.FLAVOR FROM FIRST_HALF AS A JOIN ICECREAM_INFO AS B ON A.FLAVOR = B.FLAVOR WHERE A.TOTAL_ORDER > 3000 AND B.INGREDIENT_TYPE = 'fruit_based' ORDER BY TOTAL_ORDER DESC 조건에 부합하는 중고거래 댓글 조회하기 SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE, "%Y-%m-%d") AS CREATED_DATE FROM USED_GOODS_BOARD AS B JOIN USED_GOODS_REPLY AS R ON .. 2023. 3. 19.
[Todo List Express] Post Method 이후 데이터 return 해주는 방법, PostgreSQL 대문자 문제 - 생성한 todo의 id를 모른다… exports.createTodo = async todo => { const values = [todo]; const query = ` INSERT INTO todos (todo, "isCompleted") VALUES($1, false) RETURNING id, todo, "isCompleted"; `; const { rows } = await client.query(query, values); return rows; }; createTodo를 INSERT문으로 했는데 id값을 받아서 다시 한번 todo를 찾아서 주려고 한다. 근데 …. 어떻게 함? 해결 - RETURNING id INSERT INTO todos (todo, "isCompleted") VALU.. 2023. 3. 4.
[Todo List Express] CORS ERROR, express.json(), express.urlencoded() 에러: 프론트에서 GET getTodos해도 데이터가 안옴… res.json({}) 하면 json으로 데이터 가는줄 알았는데, 이것도 미들웨어로 처리를 해줘야 json으로 보낼수있나보다. 강의에선 무지성 따라하다보니까 세세한 부분을 놓치는데 아마 이게 그 encoded: false였나 그거였나?? 찾아봐야겠다. 아래 두 라인 넣어보았는데 안된다. 뭐지 이거 프론트단 문젠가… 프론트단은 이미 다른 백엔드 API사용해서 구현되어 있는거 쓰는거라 최대한 손 안댈려고했는데… 확인해야겠따… 😭 app.use(express.json()); app.use(express.urlencoded({ extended: false })); 아…. 확인해보니까 CORS 때문이었다… express에 cors 간단하게 해결하는 문서.. 2023. 3. 4.
SQL문 연습 with 프로그래머스 (2) (MySQL) SUM(), AVG(), ROUND(), TRUNCATE() SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' AVG() : 평균 SUM() : 합 ROUND( , ) : 반올림 TRUNCATE() : 내림 DATEDIFF() DATEDIFF(날짜1, 날짜2) : 날짜1 - 날짜2 SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, IF(DATEDIFF(END_DATE, .. 2023. 2. 11.
SQL문 연습 with 프로그래머스 (1) (MySQL) SQL문 with 프로그래머스 문제 답 (1) SQL문을 연습해보았다. 공부방법은 프로그래머스 문제를 쉬운 문제 부터 풀면서 모르는 문법을 하나씩 체크하고 익혀나가는 것 Level 1 수준 (JOIN 이전 간단한 쿼리문) SELECT -- 코드를 입력하세요 SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID FACTORY_ID FACTORY_NAME ADDRESS FT19980003 (주)맛있는라면 강원도 정선군 남면 칠현로 679 FT20100003 (주)맛있는음료 강원도 원주시 문막읍 문막공단길 154 FT20100004 (주)맛있는국 강원도 평창군 봉평면 진조길 2.. 2023. 2. 8.
[Nest.js] Nest.js 특징, 구조, CRUD Nest.js 는 Node.js Express를 기반으로 한 프레임웤이다. (선택적으로 Fasify를 사용할 수도 있다.) nest는 Java진영의 Spring Boot를 한번이라도 봤다면 친숙한 느낌을 받을 수 있다. 이는 아키텍쳐 자체가 Sping Boot의 그것과 유사하고 @Annotaion을 통해 링크하는 점이 같기 때문이다. nest의 아키텍쳐는 Angular에서 영감을 받았다고 하는데... (이 부분은 앵귤러를 사용해보지 않아서 의아한데,,, 아무튼 스프링 사용자들도 앵귤러를 좋아하는 걸 보면 그 두 프레임웤 또한 유사하다고 봐도 될것 같다..?) 장점 nest.js를 공부해보고 있는 입장에서 느낀 nest의 장점은 빠른 시간 내로 간단한 Application이 깔끔하게 만들어 진다는 것이다... 2023. 2. 6.