데이터베이스 : 정리된 방식으로 데이터를 저장하는 공간. DBMS로 생성되고 조작되는 저장공간
스키마 : 데이터베이스와 테이블 구조, 속성에 대한 정보를 가진 집합
테이블 : 구조화된 특정한 타입의 데이터 목록. 다른 테이블과 구별되는 고유한 이름을 가지고 어떤 데이터가 저장되는지를 정의하는 특성과 속성을 가짐
컬럼 : 테이블에 있는 하나의 필드. 모든 테이블은 한 개 이상의 컬럼으로 구성됨
데이터 타입 : 컬럼에 저장할 수 있는 데이터를 제한할 수 있게 허용되는 데이터의 유형. (숫자형 또는 문자형 등)
행 : 테이블에 있는 데이터를 담고 있음. 테이블에 있는 레코드
주 키 : 각 행을 다른 행과 구별해주는 컬럼
* 주 키의 특징
- 같은 주 키 값을 갖는 행이 1개만 존재
- 모든 행은 주 키 값을 가져야 함 (주 키는 NULL 값을 허용하지 않음)
- 주 키 컬럼에 있는 값은 수정되거나 업데이트 될 수 없음
- 주 키 값은 재사용될 수 없음(단, 테이블에서 어떤 행이 삭제된 경우 추후에 재사용 가능)
- 단일 컬럼 가져오기
- 다중 컬럼 가져오기
- 모든 컬럼 가져오기
- 중복행 출력 방지하기
- 결과 제한하기
가져온 데이터 정렬하기
데이터는 정렬하지 않으면 테이블에 있는 순서대로 출력하게 되는데, 처음에 데이터가 테이블에 삽입되는 순서대로 있음
ORDER BY 컬럼 명
위 절은 컬럼으로 결과를 정렬하라고 명시한 것
SELECT prod_name FROM Products ORDER BY prod_name;
prod_name 컬럼으로 결과를 정렬하기
- 여러 개의 컬럼으로 정렬하기
- 컬럼의 위치로 정렬하기
- 정렬 순서 지정하기
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC, prod_name;
여러 컬럼으로 정렬하려면 제품 가격을 기준으로 내림차순 정렬한 결과를 보여주는데, 같은 가격의 제품이 있으면 제품명으로 오름차순 정렬하여 출력
데이터 필터링
- WHERE 절 사용하기
WHERE 절로 검색 조건을 지정하여 데이터를 필터링할 수 있음
SELECT prod_name, prod_price FROM Products WHERE prod_price=3.49;
prod_price 값이 3.49인 레코드만 가져오도록 함
* WHERE 절 연산자
연산자 |
설명 |
= |
같다. |
<> |
같지 않다. |
!= |
같지 않다. |
< |
~보다 작다. |
<= |
~보다 작거나 같다. |
!< |
~보다 작지 않다. |
> |
~보다 크다. |
>- |
~보다 크거나 같다. |
!> | ~보다 크지 않다. |
BETWEEN | 두 개의 특정한 값 사이 |
IS NULL | 값이 NULL |
- 일치 하지 않는 값 확인하기
SELECT vend_id, prod_name FROM Products WHERE vend_id <> 'DLL01';
판매처가 DLL01이 아닌 모든 제품을 가져오기
- 특정 범위의 값 확인하기
SELECT prod_name, prod_price FROM Products WHERE prod_price BETWEEN 5 AND 10;
5 달러와 10달러 사이의 제품과 가격 컬럼 가져오기
WHERE 절 조합하기
- AND 연산자 사용하기
판매처가 DLL01이고 가격이 4달라 이하이거나 같은 제품의 명, 가격, id 컬럼 가져오기
- OR 연산자 사용하기
참고로 SQL은 OR 연산자보다 AND 연산자를 우선적으로 처리하게 되어 있음. 괄호를 통해 우선순위를 둘 것
- IN 연산자 사용하기
- NOT 연산자 사용하기
- LIKE 연산자 사용하기
출처: 손에 잡히는 10분 SQL
'Computer Science > SQL' 카테고리의 다른 글
SQL 정리-(5) (0) | 2018.11.28 |
---|---|
SQL 정리-(4) (0) | 2018.11.28 |
SQL 정리-(3) (0) | 2018.11.26 |
SQL 정리-(2) (0) | 2018.11.22 |