※ SQL Developer와 SQL*Plus 의 2가지 방법을 모두 정리합니다.
※ SQL*Plus에서 작업한 후엔 commit; 명령을 통해 커밋해줘야 SQL Developer에서 새로고침을 했을 때 정상 반영이 됩니다.
1. 테이블 생성
(SQL Developer에서)
(SQL*Plus에서)
create table reservation_tbl (
lentno varchar2(3) primary key,
custname varchar2(20),
bookno varchar2(3),
outdate date,
indate date,
status char
);
2. 데이터 추가
(SQL Developer에서)
(SQL*Plus에서)
insert into reservation_tbl values(1, '김한국', 101, to_date('20221201', 'yyyymmdd'), null, 1);
- VARCHAR 형 데이터는 작은따옴표 써야됨
- DATE 형은 to_date 사용
3. 데이터 조회
select * from reservation_tbl;
4. 데이터 수정 및 삭제
(혹시 모를 일에 대비하여...)
update reservation_tbl set custname = '홍길동' where lentno = '1';
delete from reservation_tbl where lentno = '1';
5. 응용 문제
문제 : '시스템분석' 도서의 반납여부(status) 를 확인하는 조회를 작성하시오.
풀이 :
select r.status from reservation_tbl r join bookinfo_tbl b on r.bookno = b.bookno
group by r.status, b.bookname having b.bookname='시스템분석';
결과에 사용된 컬럼인 r.status (반납 여부) 와 조건에 사용된 b.bookname (도서명) 은 group by 다음에 꼭 적어줘야 합니다.
그렇지 않다면 ORA-00979: not a GROUP BY expression 라는 오류 메시지가 표시됩니다.
'IT > 기타' 카테고리의 다른 글
[Docker] 도커 이미지(Image) 다운로드 및 컨테이너(Container) 생성/실행/삭제하기(feat. SonarQube) (0) | 2023.08.13 |
---|---|
[Docker] 도커의 개념, linux에서 도커 설치 (0) | 2023.08.12 |
[Oracle, Eclipse] - Apache Tomcat을 이용해 웹 화면 구성 (0) | 2023.07.11 |
Oracle 설치, 세팅 및 Eclipse와 연동 (0) | 2023.07.09 |
[TDD] 실전에서 사용해본 TDD(Test-Driven Development) (0) | 2023.05.27 |