★ 문제 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. ★ 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) { int[] nums = {1, 1, 2, 2, 2, 8}; int[] t..
★ Group By 레코드를 대상으로 그룹을 나누는 역할 특정 컬럼을 대상으로 같은 값을 가지는 레코드들끼리 그룹을 묶는 역할 그룹을 왜 나누는지? > 각각의 나눠진 그룹을 대상 > 집계 함수를 적용하기 위해서 실행 순서 및 구조 select 컬럼리스트 -- 4. 컬럼을 선택 from 테이블 -- 1. 테이블로부터 where 조건 -- 2. 원하는 레코드를 group by 기준 -- 3. 그룹을 나눠서 order by 정렬조건 -- 5. 정렬한다 ■ 사용 ex) tblIsan 테이블의 부서별 평균 급여 select * from tblInsa; select avg(basicpay) from tblInsa; -- 155만원, 60명 select distinct buseo from tblInsa; -- 7개 ..
★ Update DML 데이터 수정하는 명령어 원하는 행의 원하는 컬럼값을 수정하는 명령어 구문 update 테이블 set 컬럼명=값 update 테이블명 set 컬럼명=값, 컬럼명=값, 컬럼명=값; update 테이블명 set 컬럼명=값 where 절; update 테이블 set 컬럼명=값 [ , 컬럼명=값] x N [where절]; ■ 사용 ex) 주의할 점!! : update 문 사용 시 해당 데이터가 수정되므로 하기전에 꼭 commit을 하고, rollback으로 복구 해야함 commit : 현재 시점을 저장함. rollback : 최근에 commit했던 지점으로 다시 복구함. commit; rollback; update를 사용한 다양한 ex) -- 대한민국 수도 : 서울 > 세종 update t..
★ Sequence 데이터베이스 객체에는, 테이블, 계정, 제약사항이 있는데, 이 데이터베이스 객체중 하나이다. 오라클 전용 객체(다른 DBMS에는 없음) 일련 번호를 생성하는 객체 주로 식별자를 만드는 용도로 많이 사용한다. > PK컬럼에 일련 번호를 넣을 때 많이 사용한다. 시퀀스 객체 생성하기 create Sequence 시퀀스명[옵션]; 시퀀스 객체 삭제하기 drop sequence 시퀀스명; 시퀀스 객체 사용하기 시퀀스명.nextVal > 주로 사용함. 시퀀스명.currVal > 가끔 사용함. ■ 사용 ex) create sequence seqNum; drop sequence seqNum; select seqNum.nextVal from dual; --10 > 11 번호는 서로 영향을 받지 않음..
★ DDL Data Definition Language 데이터 정의어 테이블, 뷰, 사용자, 인덱스, 트리거 등의 데이터베이스 오브젝트를 생성/수정/삭제하는 명령어 a. create : 생성 b. drop : 삭제 c. alter : 수정 테이블 조작하기 create table 테이블명 ( 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼명 자료형(길이) Null 제약사항 ); 제약사항, Constraint 해당 컬럼에 들어갈 데이터(값)에 대한 조건 조건을 만족하면 > 대입 조건을 불만족하면 > 에러발생 유효성 검사 도구 데이터베이스 > 데이터 관리 > 데이터 무결성(***)을 보장하는 도구 종류 1. NOT NULL - 해당 컬럼이 반드시 값을 가져야한다. - 해당 컬럼..
★ 형변환 함수 1. to_char(숫자) : 숫자 > 문자 2. to_char(날짜) : 날짜 > 문자 ***** 3. to_number(문자) : 문자 > 숫자 4. to_date(문자) : 문자 > 날짜 ******** ■ 1. to_char(숫자, 형식문자열) 형식문자열 구성요소 a. 9 : 숫자 1개를 문자 1개로 바꾸는 역할. ex) '@' || to_char(weight, '99999') || '@', 5자리를 확보하는데 부족한 자리는 스페이스로 채움 > 빈자리를 스페이스로 치환 >%5d b. 0 : 숫자 1개를 문자 1개로 바꾸는 역할. ex) '@' || to_char(weight, '00000') || '@' 5자리를 확보하는데 부족한 자리는 0으로 채움 > 빈자리를 0으로 치환 > %..