<8/8 TEST EXAM>
3.
중복제거 조회 함수: GROUP BY / DISINCT
집계함수를 사용해 특정 그룹으로 구분할 땐 GROUP BY, 구분없이 중복 데이터 제거 시 DISTINCT절 사용한다.
14. EMP 테이블에서 empno 컬럼을 기준으로 정렬한 결과에 1부터 시작하는 번호를 순차적으로 부여하는 SQL을 성하시오.
SELECT ROWNUM, EMP.*
FROM EMP
ORDER BY EMPNO;
: https://blog.naver.com/jjb0010/222642785829 참고
ROWNUM : 출력 행이 몇 번째 행인지 부여하는 함수
SELECT * FROM A WHERE ROWNUM=1; 처럼 원하는 행 정보만 출력도 가능.
<SQL 기초 학생 PPT 예제>
3-36. 다음과 같은 속성을 가진 NewOrders 테이블을 생성하시오. orderid(주문번호) - NUMBER, 기본키 custid(고객번호) - NUMBER, NOT NULL 제약조건, 외래키(NewCustomer.custid, 연쇄삭제) bookid(도서번호) - NUMBER, NOT NULL 제약조건 saleprice(판매가격) - NUMBER orderdate(판매일자) - DATE
CREATE TABLE NEWORDERS
(ORDERID NUMBER,
CUSTID NUMBER NOT NULL,
BOOKID NUMBER NOT NULL, SALEPRICE NUMBER, ORDERATE DATE,
FOREIGN KEY (CUSTID) REFERENCES NEWCUSTOMER(CUSTID) on delete cascade);
3-40. NewBook 테이블의 bookid 속성에 NOT NULL 제약조건을 적용하시오
ALTER TABLE NEWBOOK
MODIFY BOOKID NOT NULL;
3-43. NewCustomer 테이블을 삭제하시오. 만약 삭제가 거절된다면 원인을 파악하고 관련된 테이블을 같이 삭제하시오 (NewOrders 테이블이 NewCustomer를 참조하고 있음)
DROP TABLE NEWCUSTOMER CASCADE CONSTRAINTS;
-유저 삭제 DROP USER A CASCADE;
-테이블 삭제 DROP TABLE A CASCADE CONSTRAINS;
3-45.
DELETE *FROM BOOK WHERE BOOKID=11; -- 오류
DELETE FROM BOOK WHERE BOOKID=11;
'DataBase' 카테고리의 다른 글
0809 [Oracle] SUBQUERY and ORDB(index,view,rownum,sequence) (0) | 2022.08.10 |
---|---|
0808 [Oracle] SQL JOIN, SUBQUARY (0) | 2022.08.08 |
0805 [Oracle] 함수(단일행함수, 다중행함수) PART2 (0) | 2022.08.07 |
0804 [Oracle] 연산자 AND 함수(단일행함수)PART1 (0) | 2022.08.04 |
0803 [Oracle] SQL Group by, (Outer) Join (0) | 2022.08.04 |