본문 바로가기

Backend/Oracle DB21

09. Oracle DB, 사원(emp) 테이블 연습문제 (DDL, DML 연습) ● PRACTICE 연습문제 Q1) emp 사원테이블을 생성하시오 Q2) emp사원테이블에 행을 추가하시오 --문1) create table emp( empno number(4) primary key --사번(-9999~9999) ,ename varchar2(50) --이름 ,job varchar2(10) --직급 ,mgr number(4) --매니저정보 ,hiredate date --입사일 ,sal number(7,2) --급여(소수점 2자리) ,comm number(7,2) --커미션(보너스) ,deptno number(2) --부서코드(-99~99) ); -- 문2) insert into emp(empno, ename, job, mgr, hiredate, sal, deptno) values(7369.. 2022. 5. 18.
08. Oracle DB, 오라클 함수 (nvl, chr, concat, 날짜, 숫자, 문자) ○ 자주 쓰이는 오라클 함수 ① nvl() - null값을 원하는 다른값으로 바꿈 - 형식) nvl(원래 값, 대체할 값) -- 주소가 'Incheon'인 행의 국어점수 최대값, 인원수를 조회하시오 select max(kor), count(*) from sungjuk where addr='Incheon'; -- max(kor)=(null) / count(*)=0 : 'Incheon'이 없기 때문에 select count(*)+1 from sungjuk where addr='Incheon'; -- 2 : 연산 가능 select max(kor)+1 from sungjuk where addr='Incheon'; -- (null) : null과는 연산이 불가능 select nvl(max(kor), 0) from.. 2022. 5. 17.
07. 자료형 (표준 SQL, Oracle DB, Maria DB) ○ 표준SQL 자료형 ① 문자 - VARCHAR : 가변형 예) varchar(5) 'sky' > 5칸 중 남은 2칸은 지움, 메모리를 효율적으로 사용가능 아이디, 비밀번호, 이름, 주소 등 - CHAR : 고정형 예) char(5) 'sky' > 남은 2칸도 지우지 않고 기억 주민등록번호, 우편번호, 계좌번호 등 (글자수가 절대적으로 고정되어 있는 것) ② 숫자 - INT : 정수형 ③ 날짜 - DATE : 날짜 create table sungjuk( sno int not null ,uname varchar(50) not null ,kor int not null ,eng int not null ,mat int not null ,aver int null ,addr varchar(50) ,wdate dat.. 2022. 5. 17.
06.Oracle DB, 그룹화 (distinct, group by, 집계함수, having, case when ) ○ distinct - 칼럼에 중복내용이 있으면 대표값 1개만 출력 - 형식) distinct 칼럼명 select addr from sungjuk;--모든 칼럼의 addr 선택 select distinct addr from sungjuk;--중복하는 addr 한번만 선택 ○ group by - 칼럼의 동일 내용끼리 그룹화 시킴 - 형식) group by 칼럼1, 칼럼2, 칼럼3 ... select addr from sungjuk group by addr; - 그룹시키고 나올수 있는 값은 1개만 조회 가능 select addr, uname from sungjuk group by addr;--ORA-00979: GROUP BY 표현식이 아닙니다. ○ 집계함수 - 칼럼에 중복내용이 있으면 대표값 1개만 출력 .. 2022. 5. 16.
05. Oracle DB, 제약조건 (Constraint) ○ 테이블 제약조건 ① primary key - 기본키, 유일성 - 중복 및 null값을 허용하지 않음 (빈값을 허용하지 않음) - where 조건절에 걸릴 수 있는 대표적인 칼럼을 강제할 수 있다 - 예) 주민등록번호, 핸드폰번호, 이메일, 아이디, 계좌번호 등 ② not null - 빈값을 허용하지 않음 (반드시 입력해야 함) ③ check - 입력할 값을 특정범위로 제한하는 조건 ④ default - 사용자가 값을 입력하지 않으면 해당칼럼이 정의한 기본값을 자동으로 입력 ⑤ unique - 중복 허용 안함 - null값은 한번만 허용 ⑥ foreign key - 외래키, 테이블 조인하는 경우 부모와 자식 관계를 설정 -- sungjuk테이블 생성 create table sungjuk( sno int.. 2022. 5. 16.
04. Oracle DB, Select문 (Alias, WHERE, LIKE, Sort, NULL, 연산자, 서브쿼리) ○ SELECT 문 - DB에 저장되어 있는 데이터를 조회 - 형식) select 칼럼명1, 칼럼명2, 칼럼명3, ... from 테이블명; --전체 레코드 조회 SELECT uname, kor, mat, eng, aver, addr, wdate FROM sungjuk; SELECT *-- * : 모든 칼럼 조회 FROM sungjuk; - 전체 행 개수 구하기 : select count(*) from 테이블명; select count(*) from sungjuk; ○ 별칭(Alias) 설정 - 형식) select 칼럼명1 as 별칭1, 칼럼명2 as 별칭2, 칼럼명3 as 별칭3, ... from 테이블명; -- 칼럼명 임시 변경(보여지는 것만 잠시 바꿈) select uname, kor as kore.. 2022. 5. 15.