데이터 질의 언어인 SELECT 명령어가 있다.
*오라클의 주석은 -- 으로 쓴다.
가장 기본이 되는 SELECT의 명령어는
SELECT[컬럼명 or 표현식] FROM[테이블명]; 이다.
1. 원하는 컬럼만 출력하기
SELECT EMPNO, ENAME, SAL
FROM EMP;
다음과 같이 컬럼 EMPNO, ENAME, SAL만 출력된다.
2. 테이블 전체를 보는 명령어
만일 테이블 전체를 보고 싶다면, *를 사용하면 된다.
SELECT *
FROM EMP;
다음과 같이 테이블 전체를 출력한다.
3. 중복된 내용을 없애는 명령어
때때로 테이블 내의 데이터는 중복된 값이 있는데, 이를 제거하고 출력할 수도 있다. distinct이다.
SELECT DISTINCT JOB
FROM emp;
4. WHERE 절
원하는 데이터만 골라 출력하는 경우에 사용하며, WHERE절 뒤에 원하는 조건을 넣어서 만든다.
SELECT *
FROM EMP
WHERE SAL=1250;
다음과 같이 WHERE절에서 제시했던 SAL=1250 만 도출되었다.
물론 숫자뿐만 아니라 문자열도 조건으로 선택 가능하다.
문자열을 사용할 때 조심할 점이 있다. 문자열은 ' '(홑따옴표)로 묶어야 한다.
SELECT *
FROM EMP
WHERE JOB='SALESMAN';
조건을 여러개 설정하는 것도 가능하다. ,(콤마)를 이용해 연결할 수 있다.
또한 다양한 연산자를 이용해서 조건을 설정하는 것도 가능한데,
일단, 타 언어에서 사용하던 다양한 사칙연산 언어가 적용이 된다.
!= | 같지 않음(부정) |
> | 큰 조건을 검색 |
>= | 크거나 같은 조건을 검색 |
< | 작은 조건을 검색 |
<= | 작거나 같은 조건을 검색. |
논리연산 역시 가능하다.
타 언어와 다른 점은, 기호를 사용하는 것이 아니라 영어 그대로 사용한다는 점이다.
A and B = 직렬. A, B 둘 중 하나라도 되지 않으면 성립하지 않음.
A or B = 병렬. A,B 둘 중 하나라도 충족하면 성립.
1)and 연산자
SELECT *
FROM EMP
WHERE SAL=1250 AND COMM>1000;
다음과 같이 두 조건을 함께 충족하는 값을 찾아 출력한다.
물론, 문자열 조건, 숫자열 조건 섞어쓰는 것도 가능하다.
SELECT *
FROM EMP
WHERE JOB='SALESMAN' AND DEPTNO=30;
2) or 연산자
SELECT *
FROM STUDENT
WHERE GRADE=2 OR GRADE=3;
다음과 같이 grade가 3인 함수와 2인 함수가 동시에 나오는 것을 확인할 수 있다.
3) in 연산자
in()은 괄호 내의 조건이 일치하는 것을 찾는다, 내부의 조건은 or 연산자로 작동한다.
SELECT *
FROM EMP
WHERE JOB IN ('SALESMAN','MANAGER','CLERK');
다음과 같이 IN내에 조건 중 하나라도 충족 된다면 다 호출된다.
*DESC (테이블 이름)
다음 명령어는 테이블의 스키마를 보게 해준다. 이 때 스키마는 테이블에 대한 설명을 일컫는다.
DESC emp;
*AS(컬럼의 별칭)
컬럼에는 다른 별칭을 붙일 수도 있다.
SELECT DISTINCT DEPTNO
FROM EMP;
as를 붙이지 않은 컬럼은 다음과 같다.
이제, 컬럼의 별칭을 AS를 통해 붙여보자
SELECT DISTINCT DEPTNO AS 부서번호
FROM EMP;
다음과 같이 "부서번호" 로 변하는 것을 볼 수 있다.
AS는 생략해도 되는 명령어이지만, 만일 별칭에 공백(ex. 부서 번호)이 생길경우 " "(겹따옴표)를 이용해서 묶어주어야 한다.
*dual
테이블에 가상의 테이블을 만드는 명령어이다.
SELECT REPLACE('ABC','AB','F')
FROM DUAL;
dual은 테이블에 현재 값이 없어도 가상의 테이블을 만들어 값을 만들어낼 수 있다.
'데이터베이스' 카테고리의 다른 글
오라클 실습 1. 지역번호 블러처리 하기. (0) | 2020.03.19 |
---|---|
2. 문자함수(substr, instr, replace ....) (0) | 2020.03.19 |
테이블 자료 수정 체험. (0) | 2020.03.18 |
.sql 확장자 파일 불러오기 (0) | 2020.03.18 |
데이터베이스 사용자 만들기, tablespace 권한주기 (0) | 2020.03.18 |