본문 바로가기

전체 글

(135)
Oracle 프로그래머스 GroupBy 고양이와 개는 몇 마리 있을까 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. SELECT ANIMAL_TYPE,COUNT(*) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE order by ANIMAL_TYPE Cat 15 Dog 85 동명 동물 수 찾기 SELECT NAME , COUNT(NAME) FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME 동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제..
Oracle 프로그래머스 SUM, MAX, MIN ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE 최..
Oracle 프로그래머스 SELECT 문제 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE..
SpringBoot [Model 사용하기] 컨트롤러는 RequestMapping 어노테이션이 적용된 메서드에서 파라미터로 (Model), 커맨드 객체 등을 받아 파라미터로 받은 객체에 데이터를 저장하고 다시 뷰에 전달해 뷰에서 데이터를 사용할 수 있게 한다. 이렇게 사용되는 모델은 스프링을 사용한 웹 애플리케이션 개발자 가장 기본이 되는 부분이다 . package com.study.HelloWorld.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bin..
SpringBoot 정적 리소스 사용하기 스프링 부트의 뷰 리졸버(View Resolver) 는 클라이언트가 원하는 컨텐츠 타입을 고려하여 뷰를 걸정하는데 다음과 같이 여러가지 뷰 형식을 동적인 문서를 만들때 사용할 수 있다. 원하는 뷰 타입의 디펜던시를 프로젝트 생성시 추가하면 동적인 무서로 사용할 수 있다. FreeMarker Groovy Thymeleaf 프로젝트 생성 시 디펜던시를 추가했다면 추가적인 설정 없이 템플릿 폴더 아래에 확장자 Html 파일을 뷰로 만들어 사용할수 있다. html 파일의 내용은 html과 거의 유사하지만 마치 jsp처럼 동작한다.이때부터 html 파일은 정적인 파일이 아니고 동적인 컨텐츠를 표현하는 파일이 된다. Velocity JSP 스프링 부트에서는 기본적으로 지원되지 않기에 제공되는 스타더가 없다 프로젝트..
Oracle PL/SQL 동적 SQL 오라클은 런타임 시에 동적으로 SQ을 만들어 수행될 수 있도록 동적(Dynamic)SQL 기능을 지원한다. 이를 이용해 PL/SQL에서 직접 기술할 수 없는 SELECT 문이나 DML 문들에 대해 도적으로 SQ을 정의하여 실행 시킬수 있다. 이를 이용하여 조건에 따라 유연하게 SQL 문을 변경하여 실행시킬수 있다. DBMS_SQL 패키지에서 기본적으로 제공하는 함수와 프로시저는 다음과 같다. 타입 이름 설명 함수 OPEN_CURSOR SQL문의 실행에 필요한 새로운 커서를 열고 커서 번호를 반환 함수 IS_OPEN 커서가 현재 열려 있으면 TRUE, 아니면 FALSE를 반환 프로시저 PARSE SQL 문장을 확인하고 커서와 결합 프로시저 BIND_VARIABLE SQL문장과 엽력 변수를 결합 프로시저 D..
Spring Boot 프로젝트 만들기 스프링 부트 프로젝트는 그림과 같이 웹사이트에 접속해서 만들 수 있다. 프로젝트를 생성하기 위한 정보를 선택하거나 입력하고 , 하단의 GENERTATE 버튼을 클릭하면 프로젝트 파일이 압축된 파일 형태로 다운로드 된다. 다운로드 한 파일의 압축을 풀고 편집기에서 임포트해서 웹 애플리케이션을 개발할수 있다. 이클립스 STS 를 사용하면 이과정을 좀더 유연하게 처리 할수 있다, 프로젝트 생성 위저드에서 설정을 하면 GET 방식으로 UR에 파라미터 를 보내고 해당 파일을 다운로드해서 압축을 풀고 자동으로 임포트 까지 해준다. 여기서 라이브러리 관리 도구로 그레이들을 선택하면 라이브러리 관리를 xml 이 아니고 간단한 설정 파일을 통해서 할 수 있다. 또한 필자는 웹 JSP를 사용할거다, 스프링 부트는 기본 템..
Oracle PL/SQL 테이블 함수 Table 함수는 컬렉션의 열을 추출할 수 있는 함수이다. 이를 이용하여 테이블처럼 쿼리할 수도 있으며, 조인도 가능하다. Table 함수에서는 입력 값으로 스칼라 타입뿐 아니라, 컬렉션 타입(varry,neted table) REF커서 타입도 사용될수 있다. 쿼리 내 FROM 절에서 'TABLE'이라는 키워드로 접근 가능하며 반환 타입으로는 Nested Table 또는 Varray 컬렉션 타입이 사용된다. Table 함수 테이블의 결과 값을 패키지나 함수 등을 이용하여 가공을 거친 후에 다시 화면에 SQL 쿼리 처럼 결과를 출력하고 싶을 경우 Table 함수가 유용하게 사용될 수 있다. EMP 테이블의 결과를 컬렉션 변수를 이용해 가공한 후 해당 컬렉션의 결과를 테이블처럼 반환하는 Table 함수를 생..