관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된
특수 목적의 프로그래밍 언어이다.
(쉽게 말하면 DB관리 특수 프로그래밍 언어)
oracle을 다운받은 후 cmd창에서 sqlplus
를 입력하면 접속 가능
show user; : 현재 접속중인 계정 확인
select * from 테이블명; : 해당 테이블 데이터 출력
ex ) select * from emp; : emp 테이블 데이터 출력
(참고로 emp테이블은 scott계정으로 접속해야함)
select * from tab; : 쿼리를 수행한 유저 소유의 모든 테이블 종류 확인
desc 테이블명; : 해당 테이블에 어떤 컬럼이 있는지/구조인지 조회
-> NUMBER는 숫자 / DATE는 날짜 등을 뜻한다.
select 컬럼명/표현식 from 테이블명;
select distinct 컬럼명/표현식 from 테이블명; : 중복 거르기
ex) select distinct deptno from emp;
select 컬럼명/표현식 || 컬럼명/표현식 from 테이블명; : 붙여쓰기
ex) select ename || job from emp;
특수문자 출력
작은따옴표 : ''''(4번씩 입력)
ex) select ename || '(' || job || '), ' || ename || ''''|| job || '''' "NAME AND JOB" from emp;
AS
바꾸기전 컬럼 as "바꾸고싶은 컬럼" : 컬럼명 변경
ex) select empno as "Number" from emp;
Where
select 컬럼명/표현식 from 테이블명 where 컬럼과 조건 : 조건절
단, 검색조건이 일반 숫자인 경우엔 상관 없지만 문자나 날짜인 경우 반드시 홑따옴표 표기
ex)
select (별) from emp where empno = 7900; : 사원번호 7900번인 사람만 조회
select (별) from emp where sal < 1000; : 월급이 1000보다 작은 사람만 조회
select * from emp where job = 'CLERK'; : 직업이 clerk인 사람만 조회
연산자
=
!=, <>
<,<=,>,>=
between A and B; / between [하한] and [상한];
between 연산자는 이상, 이하를 나타낸다. 고로 비교 연산자를 사용하면 X(>,< 이런거)
IN(a,b,c)
like
~ where sal like 'n%';
: 여기서 %는 n으로 시작하는 문자(숫자,이름 등)를 보여주는 것이며, like와 %는 거의 같이 사용한다.
n% : n으로 시작하는 것, %n : n으로 끝나는 것
is null(값이 없음, 0은 해당X 말그대로 공백), is not null(값이 있음)
A and B / A or B / not A
select empno, ename, sal, comm from emp where sal > 1000 and (comm < 1000 or comm is null);
ㄴ 여기서 괄호는 조건을 같이 충족해야 한다는 표시
select empno, ename, sal from emp where empno = &empno;
Enter value for empno: ~~
ㄴ 특정값 출력받기(&empno)
select empno, ename, sal from &table where sal = 3000;
Enter value for table: ~~
ㄴ 테이블명 출력받기