MySQL 16

[MySQL] 프로그래머스 - 잔챙이 잡은 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/293258 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krSELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE LENGTH IS NULL; 📚 문법 정리- COUNT(*) : NULL 포함 모든 행의 개수 (COUNT(컬럼명) : NULL 제외 모든 행의 개수 임을 잊지말자!)- IS NULL : NULL인 경우만 필터링

[Server] sequelize를 이용한 중첩 조인

마이페이지 부분을 구현하며 sequelize 중첩 조인에 대해 머리가 아팠다. 내가 구매 등록한 물품에 대한 정보를 전달해야했는데 여기서 아래와 같이 중첩 조인을 사용했다.const user = await User.findOne({ where: { user_id: userId }, attributes: ['email', 'nickname'], include: [ { model: Order, attributes: ['product_key', 'quantity'], include: [ { model: Product, }, ], },..

[Server] Database 설계 & SQL 1452 문제 해결

요즘 토이 팀 프로젝트를 진행중이다. 여기서 백엔드의 역할을 맡아서 수행 중인데 DB 설계를 하고 MySQL 에러 해결한 내용을 기록하려고 한다.일단 우리 프로젝트 주제는 "공동 구매 마켓 페이지"이다. 기획 제외하고 실질적인 개발 기간은 10일 정도라서 기능의 확장을 염두해두고 설계했다. 1. 로그인, 회원가입 - session, crypto 사용2. 마이페이지에서 정보 수정, 정보 조회3. 마이페이지에서 구매 등록, 판매 등록 정보 조회4. 구매 등록하기5. 판매 등록하기1. DB 임시 설계나는 DB를 4개로 나누어서 설계했다.UserCategoryProductOrder_item 각 상품에는 식품, 전자기기, 도서라는 카테고리가 존재하고 이를 조회할 수 있기 때문에 Category 테이블을 하나 만들..

[Web] MySQL + Node.js로 MVC 패턴 적용

저번에는 임시 DB를 이용해 MVC 패턴을 적용해보았다. 오늘은 MySQL을 연동하여 Node.js로 서버를 구현하는 법에 대해 알아보자. 1. MySQL이란?MySQL은 오픈소스 관계형 데이터베이스 관리 시스템이다. 데이터를 표(table) 형식으로 관리하고 SQL을 통해 데이터를 저장, 검색, 업데이트 삭제 (CRUD)를 할 수 있다.  2. MySQL 테이블 구축먼저, MySQL를 통해 방문록을 저장할 테이블을 구축해줘야 한다.  나는 다음과 같은 visitor 테이브를 작성해주었다. 여기서는 id와 name, comment를 저장하고 관리한다.CREATE TABLE visitor ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10) NOT NU..

[MySQL] 프로그래머스 - 없어진 기록 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/59042 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 내가 푼 답안select b.ANIMAL_ID, b.NAMEfrom ANIMAL_INS a right outer join ANIMAL_OUTS bon a.ANIMAL_ID = b.ANIMAL_IDwhere a.ANIMAL_ID is NULL; 2. 문법 정리join에 대해 정리가 필요한 문제이다.

[MySQL] 프로그래머스 - 고양이와 개는 몇 마리 있을까

https://school.programmers.co.kr/learn/courses/30/lessons/59040 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내가 푼 답안SELECT ANIMAL_TYPE, COUNT(*) AS countFROM ANIMAL_INSgroup by ANIMAL_TYPEORDER BY FIELD(ANIMAL_TYPE, 'Cat', 'Dog');문법 정리문제의 요구사항 중 "고양이를 개보다 먼저 조회해주세요." 라고 나와있는 것을 확인할 수 있다.특정 컬럼을 먼저 조회하고 싶은 경우는 FIELD를 사용한다.예를 들어, ORDER BY FIELD(ANIMAL_TYPE, 'Ca..

[MySQL] 프로그래머스 - 진료과별 총 예약 횟수 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/132202 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내가 푼 답안SELECT MCDP_CD AS '진료과코드', COUNT(*) AS '5월예약건수'FROM APPOINTMENTWHERE YEAR(APNT_YMD) = 2022 AND MONTH(APNT_YMD) = 5GROUP BY MCDP_CDORDER BY 5월예약건수, 진료과코드;문법 정리1) 날짜 검색하는 법 YEAR(APNT_YMD)  = 2022MONTH(APNT_YMD) = 5DAY(APNT_YMD) = 05HOUR(APNT_YM..

[MySQL] 프로그래머스 - 성분으로 구분한 아이스크림 총 주문량

https://school.programmers.co.kr/learn/courses/30/lessons/133026 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  내가 푼 답안# FLAVOR을 기준으로 조인 후 그룹화SELECT B.INGREDIENT_TYPE, SUM(A.TOTAL_ORDER) AS TOTAL_ORDERFROM FIRST_HALF A INNER JOIN ICECREAM_INFO BON A.FLAVOR = B.FLAVORGROUP BY INGREDIENT_TYPE; 문법 정리JOIN + GROUP BY 문제였다.먼저 FLAVOR 키를 기준으로 INNER JOIN 후, GROUPY BY..

[MySQL] 프로그래머스 - 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내가 푼 답안SELECT CAR_TYPE, count(*) AS CARS FROM CAR_RENTAL_COMPANY_CAR# 포함되어있는지 확인하는 키워드# 특정 문자로 시작하는 데이터 검색 - [컬럼명] LIKE '특정 문자열%'# 특정 문자로 끝나는 데이터 검색 - [컬럼명] LIKE '%특정 문자열'# 특정 문자를 포함하는 데이터 검색 - [컬럼명] LIKE '%특정 문자열%'WHERE options like ('%가죽시트%') or o..

[MySQL] 프로그래머스 - 잔챙이 잡은 수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/293258 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr내가 푼 답안SELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE LENGTH is NULL;문법 정리- count(*)은 모든 행을 카운트한다.- count(column_name)은 특정 열의 값만 카운트한다.