Pattern matching = LIKE Operator
- 문자 패턴 부여 필요 → wild-card symbol 사용
- % : 0개 이상의 arbitarary characters, 그 position에 아무거나 와도 되고 그 후로도 아무거나 올 수 있음
- _ : under score, 1개 이상의 arbitarary characters, 그 position에 무언가 오긴 와야 하는데 아무거나 올 수 있음
- _AB% : 1번째 글자가 오긴 오는데 아무거나 와도 좋고, 그 후에 AB 오고 (대소문자 구분 필요) 그 후에는 없거나 아무거나 와도 된다.
Set Operations
- UNION : 합집합
- INTERSECT : 교집합
- MINUS : 차집합
- (NOT) IN : membership, (안)나타나는지
- op ANY : 하나의 record라도 만족하면
- op ALL : 모든 record에 대해 만족하면
- (NOT) EXISTS : record를 적어도 하나를 가지고 있는 table인지, 존재 (안)하는지
Nested Queries
- 다른 query가 embedded 되어 있는 query
- 그 embedded query를 subquery라고 부름
- subquery는 또 다른 qubquery를 가질 수 있음
- subquery는 전형적으로 WHERE 절 안에 나타난다.
Aggregate Operators
- COUNT ([DISTINCT] A) : A열의 (유일한) 값들의 수
- SUM ([DISTINCT] A) : A열의 모든 (유일한) 값들의 합
- AVG ([DISTINCT] A) : A열의 모든 (유일한) 값들의 평균
- MAX (A) : A열의 최댓값
- MIN (A) : A열의 최솟값
- MAX, MIN에 [DISTINCT]를 표시하는 것은 의미가 없다.
The GROUP BY and HAVING Clauses
- GroupBy : 칼럼을 보고 같은 값끼리 grouping + 조건을 줄 수도 있다.
- 관계가 있는 여러 행 그룹별로 aggregate operation을 적용하고자 한다.
- group의 수는 사전에 알 수 없다.
- Having : 그룹을 묶을 때 필요한 조건을 표시한다, 선택사항
NULL Values
- row에 있는 column value에 unknown or inapplicable이 될 수 있음
- unknown = 알려지지 않은, 모르는
- inapplicable = 적용할/될 수 없는
- 다른 값과 비교(=,<,>)할 수 없음
- 값이 없다고 생각하면 됨
- column constraints로 NOT NULL 작성 시 null 값이 안 들어오게 함
- SQL은 특수 상황에 쓰는 null이라는 special column value가 제공됨
- SQL은 IS NULL 이라는 column value가 null인지 테스트 하는 특별한 comparison operator을 제공함
Outer Join
- Left outer join
- 왼쪽의 table에서 오른쪽 table의 레코드와 join 될 것이 없어도 NULL과 조인하여 나온다.
- 오른쪽 행과 부합하지 않는 왼쪽 행들이 결과에 나타난다.
- Right outer join
- 오른쪽 table에서 왼쪽 table의 레코드와 join 될 것이 없어도 NULL과 조인하여 나온다.
- 왼쪽 행과 부합하지 않는 오른쪽 행들이 결과에 나타난다.
- Full outer join
- 왼쪽 table, 오른쪽 table 레코드 모두 서로와 join 될 것이 없어도 NULL과 조인하여 나온다.
- Left outer join과 Right outer join을 union operate한 것
- 양쪽에서 일치하지 않는 왼쪽, 오른쪽 행들을 모두 결과에 낱난다.
'Computer Science > Database Design & Query Languages' 카테고리의 다른 글
[CS][데이터베이스 시스템 3판] Chapter18. Cash Recovery (1) | 2023.12.07 |
---|---|
[CS][데이터베이스 시스템 3판] Chapter16. Transaction Processing Concepts (1) | 2023.12.07 |
[CS][데이터베이스 시스템 3판] Chapter04. Relational Algebra (0) | 2023.10.18 |
[CS][데이터베이스 시스템 3판] Chapter03. The relational Model (0) | 2023.10.18 |
[CS][데이터베이스설계와질의] Chapter02. The Entity Relationaship model (0) | 2023.10.18 |