데이터 조작어(DML) : 데이터 검색, 새로운 데이터 삽입, 데이터 삭제
- 데이터 검색 : Select 문
Select [All|Distinct] 속성_리스트
From 테이블_리스트
- ALL : 결과 테이블이 투플의 중복을 허용하도록 지정, 생략 가능
- Distinct : 결과 테이블이 투플의 중복을 허용하지 않도록 지정
- 조건 검색(비교연산자, 논리연산자 사용 가능)(Where)
Select [All|Distinct] 속성_리스트
From 테이블_리스트
[where 조건];
EX)
Select 고객이름
From 고객
where 고객이름 Like '김%';
기호 |
설명 |
% |
0개 이상의 문자 (문자의 내용과 개수는 상관 없음) |
_ |
1개의 문자 (문자의 내용은 상관없음) |
EX)
Select 고객이름
From 고객
where 나이 is not null;
- 정렬 검색(Order by) : 결과 테이블 내용을 사용자가 원하는 순서로 출력
- 오름차순(기본) : ASC / 내림차순 : DESC
- 여러 기준에 따라 정렬하려면 정렬 기준이 되는 속성을 차례대로 제시
Select [All|Distinct] 속성_리스트
From 테이블_리스트
[where 조건]
[order by 속성_리스트 [Asc|Desc]];
- 집계 함수를 이용한 검색(Count, Sum, Max, Min, Avg)
Select [All|Distinct] 속성_리스트
From 테이블_리스트
[where 조건]
[Group by 속성_리스트 [Having 조건]]
[Order by 속성_리스트 [Asc|Desc]];
-
- 집계 함수를 이용한 조건은 where 절에는 작성할 수 없고 Having 절에서 작성
- 조인검색(Join) : 여러 테이블을 연결하여 데이터 검색
1) join 이용
Select 제품, 제품명
From 제품
join 주문 on 제품.제품번호 = 주문.주문제품
where 주문.주문고객 = 'banana';
2) where, and 이용
Select 제품, 제품명
From 제품, 주문
where 주문.주문고객 = 'banana' and 제품.제품번호 = 주문.주문제품;
연산자 |
설명 |
IN |
부속 질의문과 일치하는 것이 있으면 참 |
Not in |
일치하는 것이 없으면 참 |
Exists |
결과 값이 하나라도 존재하면 참 |
Not exists |
결과 값이 하나도 존재하지 않으면 참 |
All |
결과 값 모두와 비교한 결과가 참이면 검색 조건을 만족(비교 연산자와 함께 사용) |
Any 또는 Some |
부속 질의문의 결과 값 중 하나라도 비교한 결과가 참이면 검색 조건을 만족(비교 연산자와 함께 사용) |
EX)
제품 데이터베이스에서 달콤비스킷을 생산한 제조업체가 만든 제품들의 제품명과 단가를 검색해보자.
제품(제품번호, 제품명, 단가, 제조업체)
Select 제품명, 단가
From 제품
Where 제조업체 = (Select 제조업체
From 제품
Where 제품명 = '달콤비스킷');