AXXESS 사용하기 조경민 오후 9:13 99-11-09
------------------------------------------
테이블 디자인
------------------------------------------
유효성검사
>60 AND <100 60보다 크고 100보다 작은값만 들어갈수있다.
"남" OR "여" 성별에 남또는 여만 입력가능하게 한다.
유효성메세지
안된다니까--;; 데이타가 무효한것이 들어오면 뜨는 에러메세지
AXXESS 사용기 #2
--------------------------------------------------------------
관계를 사용하자
-> 외래키( FOREGIEN KEY)를 사용함으로써 참조 무결성을 통해
입력 수정, 조인시 에러로 제한할 수 있다.
어세스의 주메뉴 도구에서 관계를 선택하고
참조 무결성을 정하고 싶은 두 테이블간의 필드를 드래그앤 드럽을
해서 정할수있다.
---------------------------------------------------------------
GROUP BY와 HAVING을 사용하자
GROUP BY는 해당 필드에 대해서 하나의 레코드화 시킨다.
HAVING은 그룹화시킬시 WHERE의 역활을 한다. 그러나 GROUP BY하려는
필드에 대해서 혹은 그룹화 되었을때의 집단함수만을 걸를 수 있다.
즉, WHERE 절에 의해 일단 걸러진 레코드셋은
GROUP BY로 그룹화되어 SELECT시 그룹화된 레코드가 나타나게 된다.
이때 집단함수를 씀으로써 각 그룹에 대한 계산을 할수 있게 된다.
책 테이블 : 현재 도서관에 구비된 책들
타이틀 저자
----------------
비행기 조경민
비행기 조경민
비행기 이황직
자동차 최영호
자동차 최영호
자동차 최영호
1. SELECT COUNT(*) FROM 책
> 6 총 도서수
2. SELECT 타이틀, COUNT(타이틀) FROM 책
GROUP BY 타이틀
타이틀 저자
----------------
비행기 3
자동차 3
> 타이틀 별 도서수
3. SELECT 타이틀, COUNT(타이틀) FROM 책
GROUP BY 타이틀 HAVING 타이틀='비행기'
타이틀 저자
----------------
비행기 3
4.SELECT 타이틀, COUNT(타이틀) FROM 책
WHERE 저자 = '조경민'
GROUP BY 타이틀 HAVING 타이틀='비행기'
타이틀 저자
----------------
비행기 3
--------------------------------------------------------
셀렉트시 술어 사용
ALL
술어를 사용하지 않을 경우. Microsoft Jet 데이터베이스 엔진은
SQL 문의 조건에 맞는 모든 레코드를 선택합니다. 다음 두 예제의
결과는 동일하며 Employees 테이블의 모든 레코드를 반환합니다.
SELECT ALL *
FROM Employees
ORDER BY EmployeeID;SELECT *
FROM Employees
ORDER BY EmployeeID;
DISTINCT
선택한 필드에서 중복 데이터가 있는 레코드를 생략합니다.
질의 결과에 포함시키려면 SELECT 문에 나열된 각 필드의
값이 모두 달라야 합니다. 예를 들어, Employees 테이블에
나열된 몇몇 직원의 성이 같을 수 있습니다. LastName 필드에
Smith라는 값이 있는 레코드가 두 개 있으면 다음 SQL 문은
Smith가 있는 레코드를 하나만 반환합니다.
SELECT DISTINCT LastName
FROM Employees;
DISTINCT 절을 생략하면 두 개의 Smith 레코드가 모두
나타납니다.SELECT 절에 여러 필드가 있으면 모든 필드
값의 조합은 결과에 포함되는 해당 레코드에 대해 유일해야
합니다.DISTINCT를 사용하는 질의 결과는 새로 고침이
불가능하며 추후 다른 사용자도 변경할 수 없습니다
DISTINCTROW
중복 필드가 아닌 중복 레코드를 기준으로 하여 데이터를
생략합니다. 예를 들어, CustomerID 필드를 사용하여
Customers와 Orders 테이블을 조인하는 질의를 작성할
수 있습니다. Customers 테이블에는 중복되는 CustomerID
필드가 없지만 Orders 테이블에는 있습니다. 다음 SQL
문은 DISTINCTROW를 사용하여 주문에 대한 세부 사항은
제외하고, 한번 이상 주문을 한 회사 목록을 작성합니다.
SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;
DISTINCTROW를 생략하면 주문 횟수만큼의 행이 생깁니다.
DISTINCTROW는 질의에 사용된 전체가 아닌 일부 테이블에서
필드를 선택할 때만 결과를 제대로 구할 수 있습니다.
질의에 하나의 테이블만 있거나 모든 테이블의 필드를
출력할 경우 DISTINCTROW는 무시됩니다.
TOP n [PERCENT]
ORDER BY 절을 사용하여 상한과 하한에서 일정 수만큼의
레코드를 반환합니다. 1994년 졸업생 중 상위 25명 학생의
이름을 구할 경우 다음 구문을 사용합니다.
SELECT TOP 25 FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage DESC;
ORDER BY 절을 넣지 않으면 학생 테이블에서 WHERE 절의
조건에 맞는 임의의 25개 레코드를 반환합니다.TOP 술어는
같은 값은 모두 선택합니다. 앞의 예제에서 25등과 26등의
평균이 같을 경우 26개의 레코드를 반환합니다.예약어
PERCENT를 사용하여 ORDER BY 절로 지정한 상하한의
범위에 맞는 레코드의 특정 비율을 반환할 수도 있습니다.
상위 25명의 학생 대신 하위 10% 학생들의 이름을 구할
경우 다음 구문을 사용합니다.
SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage ASC;
ASC 술어는 하한 값을 반환하도록 지정합니다.
TOP 뒤에 사용하는 값은 부호가 없는 Integer이어야
합니다.TOP은 질의의 새로 고침 가능성 여부에는
영향을 주지 않습니다.
------------------------------------------
테이블 디자인
------------------------------------------
유효성검사
>60 AND <100 60보다 크고 100보다 작은값만 들어갈수있다.
"남" OR "여" 성별에 남또는 여만 입력가능하게 한다.
유효성메세지
안된다니까--;; 데이타가 무효한것이 들어오면 뜨는 에러메세지
AXXESS 사용기 #2
--------------------------------------------------------------
관계를 사용하자
-> 외래키( FOREGIEN KEY)를 사용함으로써 참조 무결성을 통해
입력 수정, 조인시 에러로 제한할 수 있다.
어세스의 주메뉴 도구에서 관계를 선택하고
참조 무결성을 정하고 싶은 두 테이블간의 필드를 드래그앤 드럽을
해서 정할수있다.
---------------------------------------------------------------
GROUP BY와 HAVING을 사용하자
GROUP BY는 해당 필드에 대해서 하나의 레코드화 시킨다.
HAVING은 그룹화시킬시 WHERE의 역활을 한다. 그러나 GROUP BY하려는
필드에 대해서 혹은 그룹화 되었을때의 집단함수만을 걸를 수 있다.
즉, WHERE 절에 의해 일단 걸러진 레코드셋은
GROUP BY로 그룹화되어 SELECT시 그룹화된 레코드가 나타나게 된다.
이때 집단함수를 씀으로써 각 그룹에 대한 계산을 할수 있게 된다.
책 테이블 : 현재 도서관에 구비된 책들
타이틀 저자
----------------
비행기 조경민
비행기 조경민
비행기 이황직
자동차 최영호
자동차 최영호
자동차 최영호
1. SELECT COUNT(*) FROM 책
> 6 총 도서수
2. SELECT 타이틀, COUNT(타이틀) FROM 책
GROUP BY 타이틀
타이틀 저자
----------------
비행기 3
자동차 3
> 타이틀 별 도서수
3. SELECT 타이틀, COUNT(타이틀) FROM 책
GROUP BY 타이틀 HAVING 타이틀='비행기'
타이틀 저자
----------------
비행기 3
4.SELECT 타이틀, COUNT(타이틀) FROM 책
WHERE 저자 = '조경민'
GROUP BY 타이틀 HAVING 타이틀='비행기'
타이틀 저자
----------------
비행기 3
--------------------------------------------------------
셀렉트시 술어 사용
ALL
술어를 사용하지 않을 경우. Microsoft Jet 데이터베이스 엔진은
SQL 문의 조건에 맞는 모든 레코드를 선택합니다. 다음 두 예제의
결과는 동일하며 Employees 테이블의 모든 레코드를 반환합니다.
SELECT ALL *
FROM Employees
ORDER BY EmployeeID;SELECT *
FROM Employees
ORDER BY EmployeeID;
DISTINCT
선택한 필드에서 중복 데이터가 있는 레코드를 생략합니다.
질의 결과에 포함시키려면 SELECT 문에 나열된 각 필드의
값이 모두 달라야 합니다. 예를 들어, Employees 테이블에
나열된 몇몇 직원의 성이 같을 수 있습니다. LastName 필드에
Smith라는 값이 있는 레코드가 두 개 있으면 다음 SQL 문은
Smith가 있는 레코드를 하나만 반환합니다.
SELECT DISTINCT LastName
FROM Employees;
DISTINCT 절을 생략하면 두 개의 Smith 레코드가 모두
나타납니다.SELECT 절에 여러 필드가 있으면 모든 필드
값의 조합은 결과에 포함되는 해당 레코드에 대해 유일해야
합니다.DISTINCT를 사용하는 질의 결과는 새로 고침이
불가능하며 추후 다른 사용자도 변경할 수 없습니다
DISTINCTROW
중복 필드가 아닌 중복 레코드를 기준으로 하여 데이터를
생략합니다. 예를 들어, CustomerID 필드를 사용하여
Customers와 Orders 테이블을 조인하는 질의를 작성할
수 있습니다. Customers 테이블에는 중복되는 CustomerID
필드가 없지만 Orders 테이블에는 있습니다. 다음 SQL
문은 DISTINCTROW를 사용하여 주문에 대한 세부 사항은
제외하고, 한번 이상 주문을 한 회사 목록을 작성합니다.
SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;
DISTINCTROW를 생략하면 주문 횟수만큼의 행이 생깁니다.
DISTINCTROW는 질의에 사용된 전체가 아닌 일부 테이블에서
필드를 선택할 때만 결과를 제대로 구할 수 있습니다.
질의에 하나의 테이블만 있거나 모든 테이블의 필드를
출력할 경우 DISTINCTROW는 무시됩니다.
TOP n [PERCENT]
ORDER BY 절을 사용하여 상한과 하한에서 일정 수만큼의
레코드를 반환합니다. 1994년 졸업생 중 상위 25명 학생의
이름을 구할 경우 다음 구문을 사용합니다.
SELECT TOP 25 FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage DESC;
ORDER BY 절을 넣지 않으면 학생 테이블에서 WHERE 절의
조건에 맞는 임의의 25개 레코드를 반환합니다.TOP 술어는
같은 값은 모두 선택합니다. 앞의 예제에서 25등과 26등의
평균이 같을 경우 26개의 레코드를 반환합니다.예약어
PERCENT를 사용하여 ORDER BY 절로 지정한 상하한의
범위에 맞는 레코드의 특정 비율을 반환할 수도 있습니다.
상위 25명의 학생 대신 하위 10% 학생들의 이름을 구할
경우 다음 구문을 사용합니다.
SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage ASC;
ASC 술어는 하한 값을 반환하도록 지정합니다.
TOP 뒤에 사용하는 값은 부호가 없는 Integer이어야
합니다.TOP은 질의의 새로 고침 가능성 여부에는
영향을 주지 않습니다.
'KB > 기타' 카테고리의 다른 글
[vb] api 호출 (0) | 2004.03.19 |
---|---|
[vb] Option Explicit (0) | 2004.03.19 |
[vb] sub 함수 쓰기 (0) | 2004.03.19 |
[vb] 비베에서 DataReport쓰기 (0) | 2004.03.19 |
[vb] data 객체 없이 ODBC DSN 레코드셋 얻어오기 (0) | 2004.03.19 |