데이터베이스의 핵심이 되는 처리는 검색이다.
1. SELECT 구와 FROM 구
- select 구문은 두개의 부분으로 구성되어 있다.
⇒ RDB에서는 사용자에게 어떤 데이터가 필요한지의 정도만을 요구
SELECT name,phone_nbr , address FROM Address;
2. WHERE 구
- 특정 조건에 맞는 일부의 레코드만 선택하고 싶을 때 사용
SELECT name , address FROM Address WHERE address = "인천시";
- WHERE 구에서 사용하는 대포적인 연산자
연산자 | 의미 |
---|
= | ~와 같음 |
< > | ~와 같지 않음 |
>= | ~ 이상 |
> | ~보다 큼 |
<= | ~이하 |
< | ~보다 작음 |
- IN을 이용한 조건
SELECT name , address FROM Address WHERE address IN ('서울시','부산시','인천시');
SELECT name , address FROM Address WHERE address IS NULL;
SELECT name , address FROM Address WHERE address IS NULL;
3. GROUP BY 구
SELECT address , COUNT(*) FROM Address GROUP BY address;
함수 이름 | 설명 |
---|
COUNT | 레코드 수를 계산 |
SUM | 숫자를 더함 |
AVG | 숫자의 평균을 구함 |
MAX | 최댓값을 구함 |
MIN | 최솟값을 구함 |
4. HAVING 구
SELECT address, COUNT(*) FROM Address GROUP BY address HAVING COUNT(*) = 1;
5. ORDER BY 구
SELECT address,age FROM Address ORDER BY age DESC;
6. 뷰와 서브쿼리
CREATE VIEW CountAddress (v_address,cnt)
AS
SELECT address,COUNT(*)
FROM Address
GROUP BY address;
SELECT v_address, cnt FROM CountAddress;
SELECT v_address, cnt FROM (SELECT address,COUNT(*)
FROM Address
GROUP BY address) AS CountAddress;
SELECT name FROM Address WHERE name IN (SELECT name from ADdress2);