본문 바로가기
728x90
반응형

sql13

[JSP] DB(SQL)의 date 타입을 이용한 Model 2 설계방식 프로그램 구현 [ 프로그램 진행 원리 및 개요 ] > 1번 기능 : 상품 등록 기능 register-form.jsp -- command:register --> RegisterProductController ProductDAO ㅣ register(ProductDAO) ㅣredirect register-result.jsp > 2번 기능 : 전체 상품 목록 조회 기능 (아이디, 상품명, 등록날짜만) index.jsp에서 '상품목록'링크 클릭 -- command=getlist --> ProductListController ProductDAO ㅣ getAllProductList() : ArrayList ㅣforward product-list.jsp 아이디, 상품명, 등록시간 테이블로 제공 > 3번 기능 : 상품 상세 정보 링크.. 2020. 9. 4.
[DB] 13. 기본 SQL 8 - date 타입 (sysdate 키워드) DATE 타입 : 데이터베이스의 시간 (년, 월, 일, 시, 분, 초)을 관리하는 타입 [ 주요 키워드 ] sysdate : 현재 시간을 표현하는 키워드 > dual 테이블을 이용해서 현재 시간을 조회 *dual 테이블 : oracle에서 제공하는 기본 테이블 SELECT sysdate FROM dual; [ 주요 함수 ] 1. TO_CHAR( [시간정보] , [format] ) : 원하는 시간 포맷을 설정해 문자열로 반환받는 함수 2. TO_DATE( [시간정보] , [format] ) : 문자형 데이터를 DATE형으로 변환 * 웹 어플리케이션에서 시간 정보를 전달받아 DB에 저장하기 위해 주로 사용된다. [ 시간 format 종류 ] YYYY : 연도 (4글자 단위로 반환) YY : 2글자 단위로 연.. 2020. 9. 4.
[day_07] DB / 12. 기본 SQL 7 - JOIN 조인 (inner join, outer join, cross join, self join) JOIN : 두개 이상의 테이블 간의 정보를 결합하기 위한 SQL 문법 1. Inner Join 이너조인 : 조인하고자 하는 두개의 테이블에서 공통된 요소들을 통해 결합하는 조인 방식 : 값이 일치하는 행을 반환 [ 생성 문법 ] > TSQL 방법 SELECT 별칭.컬럼명, 별칭.컬럼명, 별칭.컴럼명 FROM 테이블명 별칭, 테이블명 별칭 WHERE 별칭.컬럼명 = 별칭.컬럼명 —> 조인조건 > ANSI SQL 방법 SELECT 별칭.컬럼명, 별칭.컬럼명, 별칭.컴럼명 FROM 테이블명 별칭, 테이블명 별칭 JOIN 테이블명 별칭 ON 별칭.컬럼명 = 별칭.컬럼명 —> 조인조건 JOIN 테이블명 별칭 USING (컬럼명)—> 조인조건 * 조인 이용 시에는 별칭을 권장. 각 테이블에 컬럼명이 중복될 수 있.. 2020. 8. 13.
[day_06] DB / 11. ERD (Entity Relationship Diagram) - Foreign Key 외래키 ERD (Entity Relationship Diagram) : 개체 관계 모델링, 관계형 데이터 베이스 설계를 위한 다이어그램 논리 데이터 모델링 - 논리적인 데이터 관리 및 관계를 정의한 모델 - 전체 업무 범위와 업무 구성요소를 확인할 수 있다. ​ 물리 데이터 모델링 - 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화시킨 모델을 말한다. 정규화 (Normalization) : 데이터베이스 설계 시 중복을 최소화하도록 데이터를 구조화하는 작업 사례 ) 사원정보를 저장하는 테이블 설계 사원번호 사원명 직종 월급 부서명 부서지역 부서대표번호 1 아이유 개발 1000 연구개발부 판교 0311231234 2 김수민 개발 2000 공공사업부 광화문 024321321 위와 같은 형태로 테이블을 .. 2020. 8. 13.
[day_06] DB / 10. IN, NOT IN 연산자 IN 연산자 : 특정값이 포함되는 데이터를 조회하고자 할 때 사용하는 연산자 SELECT [columns] FORM [table 명] WHERE 컬럼 IN ([특정값]); NOT IN 연산자 : 특정 값이 포함되지 않는 데이터를 조회하고자 할 때 사용하는 연산자 SELECT [columns] FORM [table 명] WHERE 컬럼 NOT IN ([특정값]); 사용 예제 Product TABLE 1. IN 연습 -MAKER가 '롯데', '진로', '빙그레'인 상품의 정보를 조회 방법 1) SELECT* FROMproduct WHEREmaker = '롯데' or maker = '진로' or maker = '빙그레'; 방법 2) IN 적용 SELECT* FROMproduct WHEREmaker IN ('롯.. 2020. 8. 13.
CODE [day_06] DB / 09. JDBC - SQL GROUP BY, DISTINCT 활용 예제 SQL EMPLOYEE TABLE 1. JOB 컬럼을 기준으로 그룹화하여, JOB, 사원수, 평균월급(반올림) 내림차순으로 조회해보기 * 반올림 함수 : ROUND ( [column name] , [몇번째 자리수까지 표시할것인지] ) SELECTjob, COUNT(*) AS 사원수, ROUND(AVG(salary), 2) AS 평균월급 FROMemployee GROUP BYjob ORDER BY평균월급 DESC; 2. 1번 문제에 JOB 별 평균 월급이 500을 초과하는 JOB들 조회하는 것으로 그룹 조회 조건을 추가 (HAVING절) SELECTjob, COUNT(*) AS 사원수, ROUND(AVG(salary), 2) AS 평균월급 FROMemployee GROUP BYjob HAVINGAVG(sa.. 2020. 8. 13.
[day_05] DB / 09. 기본 SQL 6 - Sub Query 서브쿼리, GROUP BY, HAVING SubQuery : 서브쿼리 : SQL 내의 SQL 실습해보자 ! -- 실습 환경 구성 -- 1. PRODUCT TABLE 생성 CREATE TABLE PRODUCT ( IDVARCHAR2(100)PRIMARY KEY, NAMEVARCHAR2(100)NOT NULL, MAKERVARCHAR2(100)NOT NULL, PRICENUMBERDEFAULT 0) 2. product sequence 만들기 CREATE SEQUENCE PRODUCT_SEQ; 3. 정보 INSERT INSERT INTO PRODUCT(ID, NAME, MAKER, PRICE) VALUES(PRODUCT_SEQ.NEXTVAL, '바나나우유', '빙그레', 1200); INSERT INTO PRODUCT(ID, NAME, MAKER, .. 2020. 8. 12.
[day_05] DB / 08. 기본 SQL 5 - DCL ( COMMIT, ROLLBACK ) [ DCL (Data Control Language) ] SQL에서 데이터를 제어하는 DCL의 KEYWORD에 대해 배워보자 ! 트랜잭션 (Transaction) : 작업 단위 or 업무 단위 : 트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위를 말한다. : COMMIT과 ROLLBACK이 이에 속한다. COMMIT : 변경된 모든 내용을 실제 데이터베이스에 반영/저장 (실제 디스크에 저장) ROLLBACK : 변경된 모든 내용을 취소하고, 이전 상태로 돌린다 (COMMIT 이전의 상태로 복구) 예제 1) 예제 링크 → https://creamilk88.tistory.com/65?category=870903 계좌이체 업무 단위 (계좌이체 transaction) 에서는 1. 송금자의 .. 2020. 8. 12.
[day_04] DB / 07. JDBC Interface 를 다시 한 번 복습하자! [ Review 복습 ] Interface - JDBC Interface (Connection, PreparedStatement, Resultset) 1. 약속 - one message 방식 : 사용자는 인터페이스만 알면, 구현부는 몰라도 사용할 수 있다. 2. 표준화 : 다중상속 → 다양한 계층구조 형성 → 다형성 → One interface, multiplle implements 3. 유지보수성 향상 (구현부가 변경되어도, 사용자 사용법은 변경되지 않는다>) → public interface, private implements 2020. 8. 11.
728x90
반응형