반응형

전체 글 199

프로그래머스 SQL 1단계 : 흉부외과 또는 일반외과 의사 목록 출력하기

흉부외과 또는 일반외과 의사 목록 출력하기 문제 DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해 주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해 주세요. DOCTOR 테이블 - DR_NAME : 의사이름 - DR_ID : 의사 ID - LCNS_NO : 면허번호 - HIRE_YMD : 고용일자 - MCDP_CD : 진료과 코드 - TLNO : 전화번호 예시 및 주의사항 💡 정답 - DATE_FORMAT 사용해서 고용일자 형식 바꾸고 별칭 지어주기 - WHERE절에 CS, GS 조건 설정, 이때 AND 사용 시 값 출력 불가 OR을 사용해주어야 함. ..

프로그래머스 SQL 1단계 : 인기있는 아이스크림

인기 있는 아이스크림 문제 상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해 주세요. FIRST_HALF 테이블 - SHIPMENT_ID : 출하 번호 FLAVOR : 아이스크림 맛 TOTAL_ORDER : 상반기 아이스크림 총 주문량 💡 정답 - ORDER BY 기본값은 오름차순(ASC)으로 출하번호는 정렬값 없이 컬럼명만 작성하면 된다. SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID

프로그래머스 SQL 1단계 : 과일로 만든 아이스크림 고르기

과일로 만든 아이스크림 고르기 문제 상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요. FIRST_HALF 테이블 - 기본 키는 FLAVOR ICECREAM_INFO 테이블 - ICECREAM_INFO의 기본 키는 FLAVOR, ICECREAM_INFO테이블의 FLAVOR는 FIRST_HALF 테이블의 FLAVOR의 외래 키 💡 정답 - 조인할 컬럼명이 같아 USING 을 사용했다. (ANSI 표준 구문) SELECT FLAVOR FROM FIRST_HALF JOIN ICECREAM_INFO USING (FLAVOR) WHERE INGREDIENT_TYPE = 'fruit_based' AND TOT..

프로그래머스 SQL 1단계 : 조건에 맞는 도서 리스트 출력하기

조건에 맞는 도서 리스트 출력하기 문제 BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 주의사항 PUBLISHED_DATE의 데이트 포맷이 예시와 동일해야 정답처리 됩니다. BOOK 테이블 예시 💡 정답 SELECT BOOK_ID , DATE_FORMAT(PUBLISHED_DATE, "%Y-%m-%d") AS PUBLISHED_DATE FROM BOOK WHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = '2021' ORDER BY PUBLISHED_DATE ASC;

[Spring boot] RESTAPI _ 05 Swagger

Swagger API 문서를 자동으로 만들어주는 라이브러리 단순 문서 뿐 아니라 API를 문서내에서 parameter를 넣어가며 바로 실행 해볼 수 있음 rest api 제작 후 따로 테스트 페이지나 postman으로 실행해보는 대신 swagger 문서 만들어서 실행 가능 복잡하지 않은 시스템이라면 rest api 서버에 swagger를 적용시켜두고, 해당 api를 호출하는 작업자에게 복작하게 설명하고 문서 만들 것 없이 swagger 문서 url만 보내서 알아서 작업하게 할 수 있음 Swagger Test pom.xml 라이브러리 추가 https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter io.springfox springfox-..

[Spring boot] RESTAPI_05 Hateoas

Hateoas Rest API를 사용하는 클라이언트가 전적으로 서버와 동적인 상호작용이 가능하도록 하는 것 클라이언트가 서버로 어떠한 요청을 할 때, 요청에 필요한 URL를 응답에 포함시켠 반환하게 한다 HateoasTest pom.xml 에 라이브러리 추가 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-hateoas org.springframework.boot spring-boot-starter-hateoas UserDTO public class UserDTO { private int no; private String id; private String pwd; private String name; priva..

[Spring boot] RESTAPI _ 04 Exception & validation(데이터 검증)

Validation 클라이언트의 데이터는 조작이 쉽고, 모든 데이터가 정상적인 방식으로 들어오지 않을 가능성도 있기 때문에 Client Side뿐만 아니라 Server Side에서도 데이터 유효성 검사를 할 필요가 있다. =>Spring boot starter validation 활용 사용 방법 1. 의존성 추가 2. Controller의 유효성 검사 적용 Request 객체 앞에 @Validated 어노테이션 추가 3. Request를 핸들링 할 객체 정의 시 @Validated 어노테이션을 통해 필요한 유효성 검사 적용 Validation Test pom.xml 에 라이브러리 추가 https://mvnrepository.com/artifact/org.springframework.boot/spring-..

[Springboot] RESTAPI_03 ResponseEntity

ResponseEntity 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스 HttpStatus, HttpHeaders, HttpBody를 포함 ResponseEntityTest ResponseMessage package com.greedy.api.section02.responseentity; import java.util.Map; public class ResponseMessage { private int httpStatus; private String message; private Map results; public ResponseMessage(int httpStatus, String message, Map results) { super(); this.httpStatus = httpSt..

[Spring boot] RESTAPI_02 Response

@RestController @Controller + @ResponseBody 클래스 레벨에 작성하며 해당 클래스 내 모든 핸들러 메소드에 @ResponseBody 어노테이션을 묵시적으로 적용한다는 의미 ResponseRest 1. 문자열 응답 @RestController @RequestMapping("/response") public class ResponseRestController { @GetMapping("/hello") public String helloworld() { return "hello world"; } } POSTMAN으로 확인 2. 기본 자료형 응답 @RestController @RequestMapping("/response") public class ResponseRestContr..

[Spring boot ] REST API - 01 REST API & POSTMAN

REST(Representational Safe Transfer) 데이터를 주고 받는 방식의 아키텍처(디자인 패턴) 1. HTTP URL를 통한 자원의 명시 (1) 쿼리 스트링 방식이 아니라 PathVariable 방식 사용 (2) 대문자 사용 지양 (3) ' _ '대신 ' - ' 사용 (4) URL 마지막에 ' / ' 사용하지 않음 (5) URL에 행위를 포함하지 않음(insert, update, delete) (6) 가급적 명사 사용(동사 사용 지양) 2. HTTP Method로 해당 자원을 제어하는 행위를 표현 (1) GET(Read) : URL/1 (2) POST(Create) : URL (3) PUT(Update) : URL/1 (4) DELETE (Delete) : URL/1 Restful 서..

반응형