본문 바로가기

IT일반과목/DataBase

데이터베이스 (집공부2)

--SELECT는 데이터베이스 내에 저장되어있는 테이블을 조회하기 위한 명령어입니다.

select * from employee;

select * from location;

--순서대로 기술하되 컬럼과 컬럼 사이에 콤마를 기술한다.

select EMP_NO, EMAIL from employee;

--연봉 구할경우 급여를 12번 곱한것이므로 산술 연산자를 사용한다.

select EMP_NAME, SALARY*12 from employee;

/*

NULL에 대한 설명

오라클에서 널은 매우 중요한 데이터이다. 컬럼에 널값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못한 채 뭐리문을 사용하면 원하지 않는 결과를 얻을 수 있기 때문이다.

널에 대한 이해를 돕기위해 널의 정의를 살펴보자.


1. 0(zero)도 아니고

2. 빈 공간도 아니다.

3. 미확정(해당 사항 없음), 알 수 없는(unknown) 값을 의미한다.

4. 어떤 값인지 알 수 없지만 어떤 값이 존재하고 있다.

5. ? 혹은 ∞의 의미이므로

6. 연산, 할당, 비교가 불가능하다.


*/


select * from EMPLOYEE;

select BONUS from EMPLOYEE;

select BONUS from EMPLOYEE where BONUS is NULL;


--컬럼 이름 대신 별칭을 출력하고자 하면 컬럼을 기술한 바로 뒤에 AS라는 키워드를 쓴 후 별칭을 기술한다.

select EMP_NAME as 이름 from EMPLOYEE;


--출력결과를 보면 대문자로 보통 출력이 될텐데 대소문자 구별하고 싶으면 ""을 사용해라

select EMP_NAME as name from EMPLOYEE;

select EMP_NAME as "Name" from EMPLOYEE;


--Concatenation

--여러개의 컬럼을 연결할때 사용하는데 "||" 수직바를 사용한다.


select EMP_NAME || ' 연봉 은? ' || salary from employee;


--중복되는 부서번호 를 한번씩만 출력하기 위해서 DISTINCT를 사용한다.

select * from employee;

select DEPT_CODE as 원래코드,DISTINCT DEPT_CODE as 바뀐코드 from EMPLOYEE;

select DISTINCT DEPT_CODE from EMPLOYEE;


/*

WHERE 조건과 비교연산자

형식 - SELECT * [column1, column2, ..., column7] FROM table_name WHERE 조건절;

*/


--------------------------------------------------------------------------------------------------------------


연산자 종류

설 명

=

같은 조건을 검색

!=, <>

같지 않은 조건을 검색

>

큰 조건을 검색

>=

크거나 같은 조건을 검색

<

작은 조건을 검색

<=

작거나 같은 조건을 검색

BETWEEN a AND b

A 와 B사이에 있는 범위 값을 모두 검색

IN(a,b,c)

A 이거나 B 이거나 C인 조건을 검색

Like

특정 패턴을 가지고 있는 조건을 검색

Is Null / Is Not Null

Null 값을 검색 / Null 이 아닌 값을 검색

A AND B

A 조건과 B 조건을 모두 만족하는 값만 검색

A OR B

A 조건이나 B 조건 중 한가지라도 만족하는 값을 검색

NOT A

A 가 아닌 모든 조건을 검색


--------------------------------------------------------------------------------------------------------------


SQL에서 문자열이나 날짜는 반드시 단일 따옴표(single quotation) 안에 표시해야 한다.


--------------------------------------------------------------------------------------------------------------


연산자

의미

AND

두 가지 조건을 모두 만족해야만 검색할 수 있다.

SELECT * FROM emp WHERE deptno=10 AND job='MANAGER';

OR

두 가지 조건 중에서 한 가지만 만족하더라도 검색할 수 있다.

SELECT * FROM emp WHERE deptno=10 OR job='MANAGER';

NOT

조건에 만족하지 못하는 것만 검색한다.

SELECT * FROM emp WHERE NOT deptno=10; 




--------------------------------------------------------------------------------------------------------------



ASC(오름차순)

DESC(내림차순)

숫자

작은 값부터 정렬

큰 값부터 정렬

문자

사전 순서로 정렬

사전 반대 순서로 정렬

날짜

빠른 날짜 순서로 정렬

늦은 날짜 순서로 정렬

NULL

가장 마지막에 나온다.

가장 먼저 나온다.