WHERE절 

- 테이블에 저장된 데이터중에서 원하는 데이터만 선택적으로 검색하는 기능

- WHERE 절의 조건문은 칼럼 이름, 연산자, 상수, 산술 표현식을 결합하여 다양한 형태로 표현 가능

- WHERE 절에서 사용하는 데이터 타입은 문자, 숫자, 날짜 타입 사용 가능

- 문자와 날짜 타입의 상수 값은 작은 따옴표('')로 묶어서 표현하 고 숫자는 그대로 사용

- 상수 값에서 영문자는 대소문자를 구별

 

 

비교연산자

- WHERE절에서 숫자, 문자, 날짜의 크기나 순서를 비교하는 연산자

연산자 의미
= 같다
!=, <> 같지 않다
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다

 

SQL연산자

- SQL 연산자는 SQL 언어에만 제공

- SQL 연산자는 모든 데이터 타입에 대해 사용 가능

연산자 의미
BETWEEN a AND b a와b의 사이의 값 a,b도 포함
IN(a, b, c, ..., n) a, b, c, ..., n중의 하나와 일치하면 참
LIKE 문자 패턴과 부분적으로 일치(%, _)하면 참
IS NULL, IS NOT NULL NULL 이면 참, NULL이면 거짓

 

NULL 개념

- NULL은 미확인 값이나 아직 적용되지 않은 값을 의미

- 0도 아니며 스페이스도 아닌 정의되지 않은 값

- NULL은 단독으로 인덱스를 사용할 수 없으므로 가능한 정의가 능한 값(특정값)으로 정한다면 ( '0','99' 등 ) 인덱스를 이용할 수 있다. 

- 그렇다고 생각없이 NULL을 특정 값으로 변환하는 것은 향후 큰 문제를 일으킬 수 있으므로 주의 깊게 사용해야 함.

NULL의 정의

- 컬럼에 아무런 값이 없을 경우, 컬럼은 null 상태라고 이야기를 함 또는 null을 포함했다고 정의함

- null 은 어떠한 not null 또는 Primary key 제약조건을 포함하지 않는 경우 모든 컬럼의 모든 데이터 타입에서도 나타날 수 있음

- null은 값을 알 수 없거나 아무런 의미가 없을 경우 사용됨

- null 값을 0(zero)을 나타내는데 사용하지는 말것(null과 0은 동일한 값이 아님)

 

집합 연산자

- 테이블을 구성하는 행집합에 대해 테이블의 부분 집합을 결과로 반환하는 연산자

- 합병 가능 : 집합 연산의 대상이 되는 두 테이블의 칼럼수가 같고, 대응되는 칼럼끼리 데이터 타입이 동일

집합 연산자 의미
UNION 두 집합에 대해 중복되는 행을 제외한 합집합
UNION ALL 두 집합에 대해 중복되는 행을 포함한 합집합
MINUS 두 집합간의 차집합
INTERSECT 두 집합간의 교집합

 

정렬

정렬(sorting)

- SQL 명령문에서 검색된 결과는 테이블에 데이터가 입력된 순서 대로 출력

- 하지만, 데이터의 출력 순서를 특정 컬럼을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬하는 경우가 자주 발생

- 여러 개의 칼럼에 대해 정렬 순서를 정하는 경우도 발생

 

ORDER BY 절

정렬 방법

- ORDER BY : 칼럼이나 표현식을 기준으로 출력 결과를 정렬할 때 사용

- ASC : 오른차순으로 정렬, 기본 값

- DESC : 내림차순으로 정렬하는 경우에 사용, 생략 불가능

- 문자 값은 알파벳순으로 출력됨

- 날짜 타입은 가장 빠른 값 부터 출력됨 
- 한글은 가나다순으로 출력됨

- Null값은 오름차순에서는 제일 나중에 그리고 내림차순에서는 제일 먼저 출력됨

- SELECT 절에 포함되지 않는 컬럼도 정렬을 하기 위한 ORDER BY 절에 올수 있음.

+ Recent posts