본문 바로가기

Kosta DevOps 과정 280기/Java109

기본키와 참조키의 설정 컬럼 레벨의 설정컬럼을 적어 줄 때 설정앞서서 한 것테이블 레벨의 설정컬럼들을 다 적고, 맨 마지막에 키를 설정pk 제약도 쓰지 않는다.//테이블 레벨create table newbook( bookid number, bookname varchar2(50) not null, publisher varchar2(20), price number, primary key(bookid));//컬럼레벨create table newcustomer( custid number primary key, name varchar2(30), addr varchar2(30), phone varchar2(30));//컬럼레벨 + 테이블레벨create table neworders( orderid nu.. 2024. 6. 19.
제약의 종류와 설정 DDL 과 DCL 은 자동 커밋이 되기 때문에 rollback을 할 수 없다. 즉, rollback과 커밋은 DML 이 대상이 된다.null : null을 허용할 수 있음(기본값)예시 코드//테이블 생성create table newbook( bookid number, bookname varchar2(20), publisher varchar2(20), price number);//테이블 보기desc newbook;insert into newbook values(1, '재미있는 자바', '코스타미디어', 30000);insert into newbook values(2, '신나는? 자바', null, null);insert into newbook(bookname, bookid, price, p.. 2024. 6. 18.
테이블 컬럼 추가하기 + 기존 내용 예제 + union, minus 칼럼을 추가하면 전부 null형식alter table 테이블이름 add 칼럼이름 자료형alter table emp add comm number; 행추가update emp set comm = 100 where eno = 1000;update emp set comm=80 where eno=1001;update emp set comm = 50 where eno = 1002 ;update emp set comm = 70 where eno = 1003;update emp set comm = 100 where eno = 1004;update emp set comm = 70 where eno = 1005;update emp set comm = 90 where eno = 1006;update emp set comm =.. 2024. 6. 18.
3개 이상 테이블 Outer join 하기 형식 //outer join 을 하고 이 결과를 가상의 테이블로 보고,(왼쪽 테이블이 된다.select 컬럼(들)from 테이블1 left outer join 테이블2on 조건식//그 결과를 다시 outer join 한다.left outer join 테이블3on 조건식; 예시고객의 이름과 고객이 주문한 도서 이름을 출력한다.(단, 주문이 없는 고객이름도 출력한다.)또, 고객 이름 순으로 정렬한다.select name, nvl(bookname, '주문내역 없음') booknamefrom customer c left outer join orders oon c.custid = o.custidleft outer join book bon o.bookid = b.bookidorder by name;  where .. 2024. 6. 17.
셀프 조인 정의실제로는 하나의 테이블인데 칼럼의 값이 그 테이블의 다른 칼럼을 참조할 때 사용하는 조인이다.A 테이블의 a 칼럼이 A테이블의 b 칼럼을 참조할 때, 셀프 조인을 한다.예시emp 테이블의 mgr 은 emp 테이블의 eno를 참조하고 있다. 만약 직원의 이름과 관리자의 이름을 출력하고자 한다면 emp 테이블을 하는 "직원"이라고 애칭을 주고 하나는 "관리자"라고 애칭을 주어 조인할 수 있다.emp e(직원), emp m(관리자)select e.ename, m.enamefrom emp e, emp mwhere e.mgr = m.eno; 연습개발팀에 근무하는 모든 직원들의 사원번호, 사원명 관리자명, 부서번호, 부서명을 출력하시오select e.eno, e.ename empolyee, m.ename man.. 2024. 6. 12.
데이터 베이스 having havingGroup by 의 결과에 또 다시 조건을 걸고 싶을 때, having을 사용한다.where는 처음의 조건만약 처음 집계에서 만약 판매 건수가 2개 이상인 것만 조회하고 싶을 때 사용한다.group by 절에 나타난 결과에 대하여 조건식을 주고자 할 때 사용한다.예시 코드'대한미디어'나 '이상미디어'의 도서명별로 판매 건수를 출력한다. 단, 판매 건수가 2건 이상인 것만 출력하고 판매 건수가 높은 순으로 출력select bookname, count(*) countfrom book b, orders owhere b.bookid = o.bookid andpublisher in ('대한미디어', '이상미디어')group by booknamehaving count(*) >= 2order by coun.. 2024. 6. 12.
DB 복습 DDL: 데이터 정의어DCL: 데이터 제어어DML: 데이터 조작어 1. 레코드의 추가(Insert)2. 레코드의 조회(select) --- ★3. 레코드의 수정(update)4. 레코드의 삭제(delete) select 문의 형식select [집계함수(들)] from 테이블(들)[where 조건식] //조회하고자 하는 레코드의 조건식을 써준다.[group by 컬럼(들)] //특정 컬럼의 값의 종류별로 집계 함수를 나타내고자 할 때 사용한다.[order by 컬럼(들)] //조회한 컬럼 중에 특정 컬럼을 기준으로 정렬하고자 할 때 사용한다. 직책별로 사원의 수, 평균 급여를 출력한다. 단,사원수가 높은 순으로 출력한다.select job, count(*) , avg(salary) from emp g.. 2024. 6. 12.
집계함수 레코드를 조회할 때 레코드의 수나, 합, 평균 등을 구하고자 할 때 사용하는 함수형식 : 매개변수에 컬럼명이 들어간다.종류 : count(), sum(), avg(), max(), min()집계함수의 결과는 1건이 나온다. 따라서 일반 칼럼과 같이 쓸수 없고 집계 함수끼리만 써야 한다.-> 단일 그룹의 그룹 함수가 아닙니다 라는 오류가 나옴모든 도서의 가격의 총합을 select sum(price) from book;count(A칼럼이름) = A칼럼의 값이  null이 아닌 레코드 수count(*)= 모든 레코드 수 카운팅예제이상미디어에서 출간하는 도서의 평균 가격 출력select avg(price) from book where publisher='이상미디어';박지성 고객이 주문한 총 건수와 총 주문 금액.. 2024. 6. 11.