기본형식 (순서)
select 칼럼명 (5)
from 테이블명 (1)
where 조건절 (2)
group by 칼럼명 (3)
having 조건절 (4)
order by 칼럼명 asc/desc (6)
// 실행 순서는 from부터 having까지 1~4번으로 실행되고 그다음 select, order by 순으로 실행된다.
// order by로 그룹을 정렬해주며 뒤에있는 asc는 오름차순, desc는 내림차순이다.
참고로 asc 오름차순은 1,2,3- 으로 생각해서 작은 값이 가장 먼저 나오게 정렬이 되며
desc는 반대로 3,2,1- 순으로 출력되어 큰 값이 먼저 정렬된다.
ALIAS (as) 사용해서 칼럼 이름 붙이기
구문 : select 칼럼1 as '칼럼 1 이름', 칼럼 2 as '칼럼 2 이름' from 테이블명;
위처럼 작성해도 되지만 as와 큰 따옴표는 생략이 가능하여
select 칼럼 1 칼럼 1 이름, 칼럼 2 칼럼 2 이름 from 테이블명;
이렇게 작성도 가능하다.
대신 지정해주는 칼럼이름에 공백(띄어쓰기)이 있으면 안 된다 -> ( 칼럼 이름 O / 칼 럼 이 름 X )
연산자의 종류
1) 산술 연산자 (+,-,/,*)
2) 비교 연산자 (=, !=, >, <, >=, <=)
3) 논리 연산자 (and, or, not)
4) SQL 연산자 (in, any, all, between, like, is null, is not null, exists)
5) 결합 연산자 (||)
1. 산술 연산자 (+,-,/,*)
Q. 부서번호가 7 번인 사원들의 급여를 10% 인상된 금액으로 출력하세요.
sal = 급여, emp = 테이블명, deptno = 부서 번호라는 가정하에
위처럼 산술 연산자 * 를 이용해서 연산이 가능하다.
2. 비교 연산자 (=,!=, >, <, >=, <=)
Q. 급여가 5000 이상인 사원들의 모든 정보를 출력하세요.
5000 이상의 데이터를 불러와야함으로 조건절에 >= 비교 연산자를
이용해서 데이터를 가져올 수 있다.
3. 논리 연산자 (and, or, not)
Q. 직업이 PROGRAMMER 이거나 MANAGER 인 사원의 부서 번호를 출력하세요.
or 연산자를 선택하여 둘 중 하나라도 조건에 맞으면 결과가 나오도록 출력한다.
(and는 조건 모두 만족해야 출력, not은 조건을 만족하지 않는 결과를 출력 )
4. SQL 연산자 (in, any, all, between, like, is null, is not null, exists)
IN
구문 : select 칼럼명 from 테이블명 where 칼럼명 in (값1, 값 2);
// or을 사용할때와 같은 결과를 출력하며 where 조건절에 있는 칼럼명에서
값 1 또는 값 2를 찾아select에서 지정한 칼럼명 결과를 출력해준다.
ANY와 ALL
구문 : select 칼럼명 from 테이블명 where 칼럼명 all 또는 any (100,200,300);
// any와 all은 사용하는 구문은 같지만any는 조건을 비교할 때 어느 하나라도 맞으면 true이며
괄호() 안의 값에서 가장 작은 값을 선택하게 되고,all은 조건이 모두 맞아야 true이며 괄호()안에서 가장 큰 값을 선택한다.
BETWEEN
구문: select 칼럼명 from 테이블 where 칼럼명 between 값 1 and 값 2;
// 두 값 사이의 데이터를 얻어온다.
IS NULL, IS NOT NULL
구문: select 칼럼명 from 테이블명 where 칼럼명 is null 또는 is not null;
// 조건절에 있는 칼럼의 값에서 null인 값을 출력하고 싶을 땐 is null, 그와 반대는 is not null을 사용한다.
LIKE
구문: select 칼럼명 from 테이블명 where 칼럼명 like '찾고싶은 문자';
// %와 _를 이용해서 찾을 문자열의 위치를 지정할 수 있다.
'%J' 는 문자열 끝에 J가 들어갔을 경우반대로 'J%'는 문자열 제일 첫 번째에 J가 위치한 값을 찾는다.
J가 포함 된 모든 문자를 출력하고 싶을 땐 '% J%'로 작성한다.
정확한 위치를 지정하고 싶을 땐 _ 를 사용하여 세 번째 글자가 J인 문자열을 찾는다면 '__J%'로 작성하면 된다.
EXISTS
구문: select 칼럼명 from 테이블명 where exists (select 칼럼명 from 테이블명 where 칼럼명='조건');
// where 조건절에 부합하는 걸 찾아 데이터가 존재하면 출력해준다.
5. 결합 연산자 (||)
구문: select 칼럼명 || '문자열' || 칼럼명 || '문자열' from emp;
// 자바스크립트의 백틱, 따옴표 등을 이용하여 변수와 문자열을 연결해주는 것처럼
칼럼과 문자열을 연결하여 하나의 데이터로 출력해준다.
'IT' 카테고리의 다른 글
[GIT & GITHUB] git 이전으로 돌아가기 (add, commit 취소) (0) | 2021.05.04 |
---|---|
[GIT & GITHUB] Git 저장소 생성과 필수 명령어, commit 연습하기 (0) | 2021.05.01 |
[GIT & GITHUB] Git 알고 사용하자! 분산버전관리시스템에 대한 이해 (0) | 2021.05.01 |
[Oracle DB] 조건 별로 묶는 방법, JOIN 종류 (JOIN, ANSI JOIN, OUTER JOIN) (0) | 2021.04.28 |
[Oracle DB] 계정 생성부터 테이블 만들기까지 총정리 (0) | 2021.04.22 |