1. 오라클 DB 테이블 확인하기
- SELECT문을 하기 앞서 scott 계정에 있는 테이블이 어떤게 있는지 확인해 봐야 합니다.
- MYSQL에서 'SHOW TABLES'로 DB내 테이블 목록을 간단히 볼 수 있다.
1 | SHOW TABLES; | cs |
- 하지만 오라클에서는 안되기 때문에 다음과 같은 쿼리를 사용해야 한다.
1 | SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE'; | cs |
<결과>
- 다음과 같이 우리 실습에 도움을 줄 테이블이 미리 정의 되어 있다. 만약 저렇게 테이블이 선언되어 있지 않는다면 아래 링크로 들어가 참고 해주세요.
http://raccoonjy.tistory.com/22
2. SELECT문
- DESC 명령어
- DESC 명령어는 테이블의 컬럼들의 특징에대해 알 수 있다.
1 | DESC emp; | cs |
<결과>
- SELECT문의 기본형식
- SELECT * [컬럼명 or 표현식] FROM [테이블명, 뷰 명];
- 모든 컬럼 조회하기
1 | SELECT * FROM emp; | cs |
또는(줄바꿈은 가능하지만 키워드 중간에 줄바꿈 안된다.)
1 2 | SELECT * FROM emp; | cs |
<결과>
- SELECT문 주의사항
1. 대소문자 구분을 하지 않아도 실행 가능하지만 원래는 다른 문장임.
2. 한 줄 또는 여러 줄에 걸쳐 작성해도 되며 마지막은 ;(세미콜론)으로 끝맺어야 함.
3. SQL 키워드는 분리하면 안됨. |
- 저 처럼 Oracle Developer를 사용하지 않고 SQLPLUS 이용하시는 사람들 TIP!
1 2 3 4 5 6 7 8 | //화면 좋게 출력하는법 COL empno FOR 9999; // 숫자일 경우 COL ename FOR a8; // 문자일 경우 SET line 200; SET pagesize 50; | cs |
- 원하는 컬럼만 조회하는 방법
ex) emp 테이블의 empno와 ename을 조회
1 2 | SELECT empno, ename FROM emp; | cs |
<결과>
- 표현식을 사용하여 출력하기
1 2 | SELECT name, '안녕하세요? 교수님~' FROM professor; | cs |
<결과>
- 칼럼 별칭 사용하여 출력하기 -1
1 2 | SELECT studno, name FROM student; | cs |
<결과 - 쿼리에는 소문자로 쓰였지만 결과는 대문자로 출력된다.>
- 칼럼 별칭 사용하여 출력하기 -2
1 2 | SELECT studno "학번", name AS "이름", profno 지도교수번호 FROM student; | cs |
<결과 - 별칭으로는 "" or AS "" or 그냥 적기는 모두 같은 의미다.>
- DISTINCT : 중복된 값을 제거하고 출력하기
<사용전>
1 2 | SELECT deptno1 FROM student; | cs |
<결과>
<사용후>
1 2 | SELECT DISTINCT deptno1 FROM student; | cs |
<결과 - 중복제거>
- 연결 연산자로 칼럼 붙이기('||'이용)
1 2 | SELECT name || '님은' || position || '입니다.' FROM professor; | cs |
<결과>
- 산술 연산자 사용하기
1 2 | SELECT ename, sal, sal + 100 FROM emp; | cs |
<결과>
'조재연의 DB 개꿀떡 > 조재연의 오라클DB 개꿀떡' 카테고리의 다른 글
오라클(Oracle)DB 박살내기 - 실습하기 전 준비 (Oracle Database 11g Release 2) (1) | 2017.07.25 |
---|---|
오라클(Oracle)DB 박살내기 - 리스너 & 서버 설정 (Oracle Database 11g Release 2) (0) | 2017.07.25 |
오라클(Oracle)DB 박살내기 - 오라클 DB 생성 (Oracle Database 11g Release 2) (0) | 2017.07.24 |
오라클(Oracle)DB 박살내기 - 오라클 DB 설치 (Oracle Database 11g Release 2) (1) | 2017.07.24 |