카테고리 없음
[데이터베이스] 처리기능 : Query(질의)
bebeghi3356
2024. 12. 5. 21:42
1. 정의
(1) DML
- 선택(검색) 쿼리 : 원하는 데이터 검색
- Simple 쿼리
- Join 쿼리
- Group 쿼리 (통계값을 구하는 쿼리)
- 기존 데이터 수정 {실행 쿼리} :
- 추가 쿼리
- 업데이트 쿼리
- 삭제 쿼리
(2) DDL
- 테이블 구조 생성 쿼리
>> 정의 쿼리 {실행 쿼리}
(3) DCL
엑세스에는 지원하지 않는 쿼리 형식
2. 선택 쿼리의 개념
엑세스에서 쿼리만들기 순서
1st. 테이블 선택
2nd. 필드에서 필요한 필드만 가져오기
3rd. 필드에 필요한 조건설정 (예 : 유효성 검사 규칙 version : [장르] = "문학" 또는 "문학"만 써도 가능)
4th. 실행 ( SQL문 생성) >> 쿼리 결과 생성
>> 테이블에서 필요한 필드를 검색한다는 의미는 테이블의 부분집합을 가져온다는 의미로 생각.
3. 검색쿼리의 개념 : " 수직적 수평적 부분집합의 교집합 "
- 테이블에서 주어진 조건을 만족하는 레코드 추출 > 수평적 부분집합
- 추출된 레코드에서 원하는 필드만 선택 > 수직적 부분집합
4. 검색 쿼리의 종류
(1) 단순 검색 쿼리 (SQ) : 하나의 테이블에서 검색
- 필드에서 특정 단어가 포함된 검색 >> 조건식 : Like *특정단어*
- Year(date) 함수 : 'date'의 연도만 추출 (Month(), Day() 함수)
- 2002년 3월 이전에 출판된 도서 검색 >> 조건식 : < #2002-03-01#
- Mid(string, 시작위치, 개수) 함수 : string의 시작위치에서 개수만큼 문자를 잘라옴 >> Mid([필드명],2,1)="K"
- 계산 필드 : 테이블 필드 외 계산에 의한 결과를 필드처럼 출력 >> [필드]칸에 추가로 기술
- 형식은 "표시제목: 수식"
- 예 ) 도서 가격의 10% 할인한 값 출력 >> 할인가격 : [가격]*0.9
- Len(string) 함수 : string의 문자수 구함
- 도서 출판 국가를 검색하려면 ? >> Switch(조건1, 값1, 조건2, 값2, ...) 함수, 조건이 참이면 값을 출력한다
(2) 조인 쿼리(복합검색쿼리, JQ) : 둘 이상의 테이블들에서 검색
- 다대다 또는 일대다 관계, 외래키에 의한 참조
>> *****둘 또는 그 이상 테이블을 합쳐 임시로 하나의 테이블(역정규화: 검색 기능을 사용하므로 중복성 따질 필요 없음)을 만들고 검사함
- 내부 조인(inner join) : 관계가 있는 레코드만 조인 ( 조인쿼리 == 내부조인쿼리)
- 외부 조인(outer join) : 관계가 없는 레코드도 조인에 참여( 조인할 상대 값이 없는 경우를 불러오고 싶은 경우임, 이때 NULL값을 붙임), 참여시키는 방향에 따라 Left Outer Join, Right Outer Join
- 내부 조인이 외부 조인에 포함되어 있을 때
(3) 요약 쿼리***** (GQ) : 복수개의 레코드들로부터 (이 쿼리는 테이블 간 교집합 쿼리를 구하는게 아닌 합계 또는 통계값을 대표값으로 구하는 쿼리이다) 대ㅐ표 통계값 요약 (예 : 장르별 도서 평균 가격)