대부분의 현대 관계형 언어의 경우와 마찬가지로,스포츠 토토 결과튜플 관계형을 기반으로 합니다. 계산법. 결과적으로 다음을 사용하여 공식화할 수 있는 모든 쿼리는 튜플 관계형 계산(또는 동등하게 관계형 대수)는 다음을 사용하여 공식화될 수도 있습니다.스포츠 토토 결과. 그러나 그 이상의 능력이 있다. 관계 대수학 또는 미적분학의 범위. 다음은 일부 목록입니다. 추가 기능 제공스포츠 토토 결과관계형 대수학이나 미적분학의 일부가 아닌 것:
삽입, 삭제 또는 수정 명령 데이터.
산술 기능: 있음스포츠 토토 결과산술 연산뿐만 아니라 비교, 예:
A < B + 3.+ 또는 기타 산술 연산자는 둘 다 나타나지 않습니다. 관계 대수학 또는 관계 미적분학.
할당 및 인쇄 명령: 쿼리로 구성된 관계와 계산된 관계 이름과 관련됩니다.
집계 함수: 다음과 같은 작업평균, 합계, 최대등을 열에 적용할 수 있습니다. 단일 수량을 얻기 위한 관계입니다.
가장 자주 사용되는 명령스포츠 토토 결과검색에 사용되는 SELECT 문입니다. 데이터. 구문은 다음과 같습니다.
선택 [ 전체 | 고유 [ ON (표현 [, ...] ) ] ]
* | 표현[ AS출력_이름] [, ...]
[ INTO [ 임시 | 온도 ] [ 표 ]new_table]
[ 에서from_item[, ...] ]
[ 어디조건]
[ 그룹별표현[, ...] ]
[ 갖는조건[, ...] ]
[ 노동조합 | 교차 | 제외 [ 모두 ]선택]
[주문 방법표현[ ASC | 설명 | 사용연산자] [, ...] ]
[ 업데이트용 [ OF클래스_이름[, ...] ] ]
[ 한계개수| 모두 [ 오프셋 | ,시작 ]]
이제 SELECT의 복잡한 구문을 설명하겠습니다. 다양한 예를 들어 설명합니다. 작업에 사용된 테이블은 예는 다음에 정의되어 있습니다.공급업체 및 부품 데이터베이스.
다음은 SELECT를 사용하는 몇 가지 간단한 예입니다. 성명:
예 1-4. 간단한 쿼리 자격
테이블 PART에서 모든 튜플을 검색하려면 PRICE 속성이 10보다 크면 다음 쿼리:
부분에서 * 선택
가격이 10보다 큰 경우;그리고 테이블을 얻으세요:PNO | P이름 | 가격 ------+---------+-------- 3 | 볼트 | 15 4 | 캠 | 25
SELECT 문에서 "*"를 사용하면 모든 테이블의 속성. 만 검색하고 싶다면 우리가 사용하는 테이블 PART의 PNAME 및 PRICE 속성 성명:
PNAME 선택, 가격
부품에서
가격이 10보다 큰 경우;이 경우 결과는 다음과 같습니다:PNAME | 가격
------+---------
볼트 | 15
캠 | 25참고하세요스포츠 토토 결과선택
관계 대수학의 "투영"에 해당하지만
"선택"(참조관계대수학자세한 내용은).WHERE 절의 제한은 다음과 같을 수도 있습니다. OR, AND 및 키워드를 사용하여 논리적으로 연결됨 아니다:
PNAME 선택, 가격
부품에서
PNAME = '볼트' AND
(가격 = 0 또는 가격 <= 15);결과로 이어질 것입니다:PNAME | 가격 ------+--------- 볼트 | 15
산술 연산은 대상 목록에서 사용될 수 있으며 WHERE 절에서. 예를 들어 방법을 알고 싶다면 우리가 할 수 있는 부품의 두 부분을 취한다면 비용이 많이 들 것입니다. 다음 쿼리를 사용하십시오:
PNAME 선택, PRICE * 2 AS DOUBLE
부품에서
가격 * 2 < 50;그리고 우리는 다음을 얻습니다:PNAME | 더블 --------+--------- 나사 | 20 너트 | 16 볼트 | 30AS 키워드 뒤의 DOUBLE이라는 단어는 새로운 두 번째 열의 제목입니다. 이 기술은 모든 경우에 사용할 수 있습니다. 결과에 새 제목을 할당하는 대상 목록의 요소 열. 이 새로운 제목을 종종 별칭이라고 합니다. 별칭 쿼리의 나머지 부분에서는 사용할 수 없습니다.
다음 예는 방법을 보여줍니다.조인다음에 실현됩니다스포츠 토토 결과.
SUPPLIER, PART 및 SELLS 테이블 3개를 조인하려면 공통 속성을 다음과 같이 공식화합니다. 성명:
S.SNAME, P.PNAME 선택
공급업체 S, 파트 P, SE 판매
여기서 S.SNO = SE.SNO이고
P.PNO = SE.PNO;결과로 다음 표를 얻습니다:SNAME | PNAME -----+------- 스미스 | 나사 스미스 | 너트 존스 | 캠 아담스 | 나사 아담스 | 볼트 블레이크 | 너트 블레이크 | 볼트 블레이크 | 캠
FROM 절에서 우리는 모든 항목에 대한 별칭 이름을 도입했습니다. 공통적으로 명명된 속성(SNO 및 PNO) 관계 중. 이제 우리는 간단히 속성 앞에 붙는 일반적인 명명된 속성 별칭 이름 뒤에 점이 오는 이름입니다. 조인은 와 같은 방식으로 계산됨내부 조인. 먼저 데카르트 곱 SUPPLIER × PART × SELLS가 파생됩니다. 지금 주어진 조건을 만족하는 튜플들만 WHERE 절이 선택되었습니다(즉, 공통 명명된 속성 같아야 합니다). 마지막으로 모든 열을 투영하지만 S.SNAME 및 P.PNAME.
조인을 수행하는 또 다른 방법은 스포츠 토토 결과 JOIN 구문을 사용하는 것입니다 다음과 같이:
공급업체로부터 sname, pname 선택
JOIN은 USING(sno)을 판매합니다.
(pno)를 사용하여 부분 결합;다시 주다:이름 | p이름 -----+------- 스미스 | 나사 아담스 | 나사 스미스 | 너트 블레이크 | 너트 아담스 | 볼트 블레이크 | 볼트 존스 | 캠 블레이크 | 캠 (8행)
JOIN 구문을 사용하여 생성된 조인된 테이블은 테이블입니다. FROM 절과 그 이전에 나타나는 참조 목록 항목 WHERE, GROUP BY 또는 HAVING 절. 다른 테이블 테이블 이름이나 기타 JOIN 절을 포함한 참조는 쉼표로 구분된 경우 FROM 절에 포함됩니다. 가입됨 테이블은 FROM에 나열된 다른 테이블과 논리적으로 유사합니다. 절.
스포츠 토토 결과 JOIN은 두 가지 주요 유형인 CROSS JOIN(규정되지 않음)으로 제공됩니다. 조인) 및적격 JOIN. 적격 조인은 다음 방식에 따라 더 세분화될 수 있습니다. 어느조인 조건이다 지정(ON, USING 또는 NATURAL) 및 그 방식 적용됩니다(INNER 또는 OUTER 조인).
조인 유형
{ T1 } 교차 조인 { T2 }
교차 조인은 N과 N을 갖는 두 개의 테이블 T1과 T2를 사용합니다. M개의 행을 각각 입력하고 조인된 테이블을 반환합니다. N*M개의 가능한 조인 행을 모두 포함합니다. 각 행에 대해 T1의 R1, T2의 각 행 R2가 R1과 결합되어 생성됩니다. R1의 모든 필드로 구성된 조인된 테이블 행 JR 그리고 R2. CROSS JOIN은 INNER JOIN ON과 동일합니다. 진실.
{ T1[ 자연 ] [ 내부 | 왼쪽 | 맞다 | 전체 [ 외부 ] ]가입 { T2켜짐검색조건| (를 사용하여열 조인 목록 ) }
적격한 JOIN은 조인 조건을 다음과 같이 지정해야 합니다. NATURAL, ON 또는 USING 중 하나만 제공합니다. ON 절은 다음을 취합니다.검색 상태, 이는 WHERE 절과 동일합니다. USING 절은 쉼표로 구분된 열 목록을 사용합니다. 조인된 테이블이 공통적으로 가져야 하는 이름 해당 열이 동일하면 테이블을 조인합니다. 자연스러운 모든 항목을 나열하는 USING 절의 약어입니다. 두 테이블의 공통 열 이름입니다. 부작용 USING과 NATURAL은 모두 각각 하나의 복사본만 있다는 것입니다. 조인된 열이 결과 테이블로 내보내집니다(비교 JOIN의 관계 대수 정의가 표시됩니다. 더 일찍).
T1의 각 행 R1에 대해 조인된 테이블에는 다음이 있습니다. 조인을 만족하는 T2의 각 행에 대한 행 R1의 조건.
팁:INNER 및 OUTER라는 단어는 모든 JOIN에는 선택 사항입니다. 내부가 기본값입니다. LEFT, RIGHT 및 FULL은 OUTER를 의미합니다. 가입하다.
먼저 INNER JOIN이 수행됩니다. 그런 다음 조인을 만족하지 않는 T1의 각 행 T2에 임의의 행이 있는 조건, 추가 조인된 행은 null 필드와 함께 반환됩니다. T2의 열입니다.
팁:조인된 테이블 무조건 각 행에 대해 행이 있습니다. T1.
먼저 INNER JOIN이 수행됩니다. 그런 다음 조인을 만족하지 않는 T2의 각 행 T1의 임의 행에 대한 조건, 추가 조인된 행은 null 필드와 함께 반환됩니다. T1의 열입니다.
팁:조인된 테이블 무조건 각 행에 대해 행이 있습니다. T2.
먼저 INNER JOIN이 수행됩니다. 그런 다음 조인을 만족하지 않는 T1의 각 행 T2에 임의의 행이 있는 조건, 추가 조인된 행은 null 필드와 함께 반환됩니다. T2의 열입니다. 또한 T2의 각 행에 대해 어떤 행과도 조인 조건을 충족하지 않습니다. T1에서는 추가로 조인된 행이 반환됩니다. T1의 열에 있는 null 필드입니다.
팁:조인된 테이블 무조건 T1의 모든 행에 대해 행이 있습니다. T2의 모든 행에 대한 행입니다.
모든 유형의 JOIN은 함께 연결되거나 중첩될 수 있습니다. 둘 중 하나 또는 둘 다T1그리고T2JOIN된 테이블일 수 있습니다. JOIN 절 주위에 괄호를 사용하여 그렇지 않으면 처리되는 JOIN의 순서는 다음과 같습니다. 오른쪽.
스포츠 토토 결과집계 제공 연산자(예: AVG, COUNT, SUM, MIN, MAX) 인수로서의 표현. 표현식은 각각에서 평가됩니다. WHERE 절을 만족하는 행과 집계 연산자는 이 입력 값 세트에 대해 계산됩니다. 일반적으로 집계는 전체에 대해 단일 결과를 제공합니다. SELECT 문. 그러나 쿼리에 그룹화가 지정된 경우 그런 다음 각 행에 대해 별도의 계산이 수행됩니다. 그룹별로 집계된 결과가 전달됩니다(참조: 다음 섹션).
스포츠 토토 결과파티션을 허용합니다 테이블의 튜플을 그룹으로 나눕니다. 그런 다음 집계 위에서 설명한 연산자는 그룹에 적용될 수 있습니다 --- 즉, 집계 연산자의 값은 더 이상 지정된 열의 모든 값에 대해 계산되지만 그룹의 모든 가치에 대해. 따라서 집계 연산자는 다음과 같습니다. 모든 그룹에 대해 별도로 평가됩니다.
튜플을 그룹으로 분할하는 작업은 다음과 같습니다. 키워드 사용그룹별팔로우함 그룹을 정의하는 속성 목록으로 있다면그룹별 A1, ⃛, 에이k우리는 관계를 그룹으로 분할합니다. 두 튜플이 같은 그룹에 있는 경우 모든 속성에 동의합니다 A1, ⃛, 에이k.
예제 1-6. 집계
매년마다 몇 개의 부품이 판매되는지 알고 싶다면 공급자는 쿼리를 공식화합니다.
선택 S.SNO, S.SNAME, 개수(SE.PNO)
공급업체 S에서 SE 판매
여기서 S.SNO = SE.SNO
S.SNO, S.SNAME별 그룹;그리고 다음을 얻습니다:SNO | 스네임 | 세다 ------+---------+------- 1 | 스미스 | 2 2 | 존스 | 1 3 | 아담스 | 2 4 | 블레이크 | 3
이제 여기서 무슨 일이 일어나고 있는지 살펴보겠습니다. 첫 번째 SUPPLIER 및 SELLS 테이블의 조인이 파생됩니다.
S.SNO | S.S이름 | SE.PNO ------+---------+-------- 1 | 스미스 | 1 1 | 스미스 | 2 2 | 존스 | 4 3 | 아담스 | 1 3 | 아담스 | 3 4 | 블레이크 | 2 4 | 블레이크 | 3 4 | 블레이크 | 4
다음으로 우리는 모든 튜플을 그룹으로 분할합니다. S.SNO 및 S.SNO 속성 모두에 동의하는 튜플 S.SNAME:
S.SNO | S.S이름 | SE.PNO
------+---------+--------
1 | 스미스 | 1
| 2
-------------
2 | 존스 | 4
-------------
3 | 아담스 | 1
| 3
-------------
4 | 블레이크 | 2
| 3
| 4
이 예에서는 4개의 그룹이 있으며 이제 신청할 수 있습니다 다음으로 이어지는 모든 그룹에 대한 집계 연산자 COUNT 위에 제공된 쿼리의 최종 결과입니다.
GROUP BY 및 집계를 사용하는 쿼리의 경우 대상 목록을 이해하기 위한 연산자는 참조만 가능합니다. 그룹화되는 속성에 직접 연결됩니다. 기타 속성 집계 인수 내에서만 사용할 수 있습니다. 기능. 그렇지 않으면 고유한 값이 존재하지 않습니다. 다른 속성과 연결됩니다.
또한 요청하는 것이 의미가 없다는 것을 관찰하십시오 집합의 집합(예: AVG(MAX(sno))) SELECT는 그룹화 및 집계를 한 번만 수행합니다. 너 임시 테이블이나 테이블을 사용하여 이런 종류의 결과를 얻을 수 있습니다. 첫 번째 수준을 수행하기 위해 FROM 절의 하위 SELECT 집합.
HAVING 절은 WHERE 절과 매우 유사하게 작동하며 만족하는 그룹만 고려하는 데 사용됩니다. HAVING 절에 주어진 자격. 본질적으로, 어디서 그룹화하기 전에 원치 않는 입력 행을 필터링하고 집계가 완료되는 반면 HAVING은 원하지 않는 필터링을 수행합니다. GROUP 이후의 그룹 행. 따라서 WHERE는 집계 함수의 결과. 반면에, 없습니다 을 포함하지 않는 HAVING 조건을 작성하는 것이 중요합니다. 집계 기능! 귀하의 상태가 관련되지 않은 경우 집계하는 경우 WHERE에 작성하는 것이 좋습니다. 귀하가 속한 그룹에 대한 집계 계산을 피하십시오. 어차피 그냥 버릴 거야.
WHERE 및 HAVING 절에서 하위 쿼리 사용 (하위 선택)은 값이 있는 모든 위치에서 허용됩니다. 예상되는. 이 경우 값은 다음과 같이 파생되어야 합니다. 하위 쿼리를 먼저 평가합니다. 서브쿼리의 사용법 표현력을 확장합니다스포츠 토토 결과.
예제 1-8. 하위 선택
우리가 모든 부품의 가격이 다음보다 더 높은지 알고 싶다면 'Screw'라는 부분에 쿼리를 사용합니다.
선택 *
부품에서
가격 (부품에서 가격 선택)
WHERE PNAME='나사');
결과는 다음과 같습니다:
PNO | P이름 | 가격 ------+---------+-------- 3 | 볼트 | 15 4 | 캠 | 25
위의 쿼리를 보면 키워드를 볼 수 있습니다 두 번 선택하세요. 시작 부분의 첫 번째 쿼리 - 우리는 이를 외부 SELECT라고 부르겠습니다. 중첩된 쿼리를 시작하는 WHERE 절에서 - 우리는 이를 내부 SELECT라고 합니다. 외부의 모든 튜플에 대해 SELECT 내부 SELECT를 평가해야 합니다. 매회 평가를 통해 우리는 'Screw'라는 튜플의 가격을 알고 있으며 실제 튜플의 가격이 더 높은지 확인할 수 있습니다. (실제로 이 예에서는 내부 쿼리만 필요합니다. 한 번 평가됩니다. 왜냐하면 상태에 의존하지 않기 때문입니다. 외부 쿼리입니다.)
우리가 아무것도 판매하지 않는 모든 공급업체를 알고 싶다면 부분(예: 이러한 공급업체를 데이터베이스) 우리는 다음을 사용합니다:
선택 *
공급업체로부터
존재하지 않는 곳
(선택 * FROM SELLS SE
여기서 SE.SNO = S.SNO);
이 예에서는 결과가 비어 있을 것입니다. 공급자는 적어도 하나의 부품을 판매합니다. S.SNO를 사용한다는 점에 유의하세요. 내부 WHERE 절 내의 외부 SELECT에서 선택하다. 여기서 하위 쿼리는 각각에 대해 새로 평가되어야 합니다. 외부 쿼리의 튜플, 즉 S.SNO의 값은 다음과 같습니다. 항상 외부의 현재 튜플에서 가져옵니다. 선택하다.
하위 쿼리를 사용하는 다소 다른 방법은 다음과 같습니다. FROM 절에 있습니다. 이것은 유용한 기능이기 때문에 이런 종류의 하위 쿼리는 여러 열과 행을 출력할 수 있습니다. 반면 표현식에 사용된 하위 쿼리는 단일 결과. 또한 한 라운드 이상의 결과를 얻을 수도 있습니다. 일시적인 방법을 사용하지 않고 그룹화/집계 테이블.
이 연산은 합집합, 교차점 및 집합을 계산합니다. 두 가지로 파생된 튜플의 이론적 차이 하위 쿼리.
예제 1-10. 결합, 교차, 제외
다음 쿼리는 UNION에 대한 예입니다.
SELECT S.SNO, S.SNAME, S.CITY
공급업체로부터
WHERE S.SNAME = '존스'
노동 조합
S.SNO, S.SNAME, S.CITY를 선택하세요.
공급업체로부터
S.SNAME = '아담스';결과를 제공합니다:SNO | 스네임 | 도시 ------+---------+-------- 2 | 존스 | 파리 3 | 아담스 | 비엔나
다음은 INTERSECT의 예입니다:
SELECT S.SNO, S.SNAME, S.CITY
공급업체로부터
S.SNO 1인 경우
교차
S.SNO, S.SNAME, S.CITY를 선택하세요.
공급업체로부터
S.SNO < 3;결과를 제공합니다:SNO | 스네임 | 도시 ------+---------+-------- 2 | 존스 | 파리질의의 두 부분에서 반환된 유일한 튜플은 SNO=2입니다.
마지막으로 EXCEPT의 예:
S.SNO, S.SNAME, S.CITY 선택
공급업체로부터
S.SNO 1인 경우
제외하고
S.SNO, S.SNAME, S.CITY를 선택하세요.
공급업체로부터
S.SNO 3;결과를 제공합니다:SNO | 스네임 | 도시 ------+---------+-------- 2 | 존스 | 파리 3 | 아담스 | 비엔나
데이터 정의에 사용되는 명령 세트가 포함되어 있습니다 에서스포츠 토토 결과언어.
데이터 정의를 위한 가장 기본적인 명령은 새로운 관계(새 테이블)를 생성하는 것입니다. 구문은 CREATE TABLE 명령은 다음과 같습니다.
테이블 생성테이블_이름
(name_of_attr_1 type_of_attr_1
[, name_of_attr_2 type_of_attr_2
[, ...]]);
예제 1-11. 테이블 생성
다음에 정의된 테이블을 생성하려면공급업체 및 부품 데이터베이스수행원스포츠 토토 결과문장은 다음과 같습니다 사용된:
테이블 공급업체 생성
(SNO 정수,
SNAME VARCHAR(20),
도시 VARCHAR(20));
테이블 부분 생성
(PNO 정수,
PNAME VARCHAR(20),
가격 십진수(4 , 2));
테이블 판매 생성
(SNO 정수,
PNO 정수);
다음은 일부 데이터 유형의 목록입니다. 지원자:스포츠 토토 결과:
INTEGER: 부호 있는 전체 단어 이진 정수(31비트) 정도).
SMALLINT: 부호 있는 하프워드 이진 정수(15비트 정도).
10진수 (p[,q]): 부호 있는 압축 십진수 최대p숫자, 와q오른쪽의 숫자 소수점. 만약에q생략되어 0으로 간주됩니다.
FLOAT: 부호 있는 더블워드 부동 소수점 수.
CHAR(n): 고정 길이 길이의 문자열n.
VARCHAR(n): 다양함 length 최대 길이의 문자열n.
색인은 관계에 대한 액세스 속도를 높이는 데 사용됩니다. 만약 관계R다음에 색인이 있습니다 기인하다A그러면 우리는 검색할 수 있어요 모든 튜플t가지고 있는t(A) = a에 시간은 대략 그러한 튜플의 수에 비례합니다.t시간보다는 크기에 비례함R.
색인을 생성하려면스포츠 토토 결과CREATE INDEX 명령이 사용됩니다. 구문은 다음과 같습니다.
색인 생성색인_이름켜짐테이블_이름 ( name_of_attribute );
뷰는 다음과 같이 간주될 수 있습니다.가상 테이블, 즉, 그렇지 않은 테이블물리적으로데이터베이스에 존재하지만 다음을 찾습니다. 사용자는 마치 그런 것처럼 보입니다. 대조적으로, 우리가 a에 대해 이야기할 때기본 테이블정말로 테이블의 각 행에 대해 물리적으로 저장된 대응물 물리적 저장소 어딘가에 있습니다.
뷰에는 물리적으로 분리된 자체적인 뷰가 없습니다. 저장된 데이터를 구별할 수 있습니다. 대신 시스템은 데이터를 저장합니다. 뷰 정의(예: 액세스 방법에 대한 규칙) 물리적으로 저장된 기본 테이블을 구현하기 위해 보기) 시스템 카탈로그 어딘가에 있습니다(참조시스템 카탈로그). 다양한 기술에 대한 논의를 위해 뷰 구현 참조SIM98.
에스포츠 토토 결과그보기 만들기명령은 보기를 정의하는 데 사용됩니다. 구문은 다음과 같습니다.
보기 만들기view_nameASselect_stmt어디에서select_stmt유효합니다 에 정의된 대로 select 문선택. 참고하세요select_stmt뷰가 실행될 때 실행되지 않습니다. 생성되었습니다. 그것은 단지에 저장되어 있습니다.시스템 카탈로그그리고 뷰에 대한 쿼리가 실행될 때마다 실행됩니다. 만들어진.
다음 보기 정의가 주어집니다(우리는 테이블의 출처공급업체 및 부품 데이터베이스다시):
CREATE VIEW 런던_공급업체
AS SELECT S.SNAME, P.PNAME
공급업체 S, 파트 P, SE 판매
여기서 S.SNO = SE.SNO이고
P.PNO = SE.PNO AND
S.CITY = '런던';
이제 우리는 이것을 사용할 수 있습니다가상 관계 London_Suppliers으로 다른 기본 테이블인 경우:
SELECT * FROM London_Suppliers(런던_공급업체)
PNAME = '나사';다음 테이블을 반환합니다:SNAME | PNAME -----+------- 스미스 | 나사
이 결과를 계산하려면 데이터베이스 시스템이 다음을 수행해야 합니다.숨겨진기본 테이블에 대한 액세스 공급업체, 판매 및 부품 우선. 이는 다음을 실행하여 수행됩니다. 해당 기본 테이블에 대해 뷰 정의에 제공된 쿼리입니다. 그 후 추가 자격(쿼리에서 제공됨) 뷰에 대해)를 적용하여 결과를 얻을 수 있습니다. 테이블.
테이블을 삭제하려면(그 안에 저장된 모든 튜플 포함) 테이블) DROP TABLE 명령이 사용됩니다.
드롭 테이블테이블_이름;
SUPPLIER 테이블을 파괴하려면 다음을 사용하십시오 성명:
드롭 테이블 공급업체;
DROP INDEX 명령은 색인을 삭제하는 데 사용됩니다:
인덱스 삭제색인_이름;
마지막으로 주어진 보기를 파괴하려면 DROP 명령을 사용하십시오 보다:
드롭 보기view_name;
테이블이 생성되면(참조테이블 생성), 그럴 수도 있어요 다음 명령을 사용하여 튜플로 채워집니다.INSERT INTO. 구문은 다음과 같습니다:
INSERT INTO테이블_이름 (name_of_attr_1
[, name_of_attr_2[,...]])
값(val_attr_1 [, val_attr_2 [, ...]]);
관계 SUPPLIER(from)에 첫 번째 튜플을 삽입하려면공급업체와 부품 데이터 베이스) 다음 문을 사용합니다.
공급업체에 삽입(SNO, SNAME, CITY)
VALUES (1, '스미스', '런던');
첫 번째 튜플을 SELLS 관계에 삽입하려면 사용:
판매에 삽입(SNO, PNO)
값(1, 1);
튜플의 하나 이상의 속성 값을 변경하려면 UPDATE 명령이 사용되는 관계입니다. 구문은 다음과 같습니다.
업데이트테이블_이름SETname_of_attr_1 = 값_1
[, ... [, name_of_attr_k = value_k]]
어디조건;
'나사' 부품의 PRICE 속성 값을 변경하려면 관계 부분에서 우리는 다음을 사용합니다:
부분 업데이트
설정 가격 = 15
PNAME = '나사';
이름이 다음과 같은 튜플의 PRICE 속성의 새 값 '나사'는 이제 15입니다.
특정 테이블에서 튜플을 삭제하려면 다음 명령을 사용하십시오 다음에서 삭제하세요. 구문은 다음과 같습니다.
다음에서 삭제테이블_이름어디조건;
테이블의 'Smith'라는 공급자를 삭제하려면 SUPPLIER 다음 문이 사용됩니다.
공급업체에서 삭제
SNAME = '스미스';
모든 곳에서스포츠 토토 결과데이터베이스 시스템시스템 카탈로그추적을 위해 사용됩니다 그 중 테이블, 뷰 인덱스 등이 정의되어 있습니다. 데이터 베이스. 이러한 시스템 카탈로그는 마치 다음과 같이 쿼리될 수 있습니다. 정상적인 관계. 예를 들어 다음 작업에 사용되는 카탈로그가 하나 있습니다. 뷰의 정의. 이 카탈로그는 다음의 쿼리를 저장합니다. 뷰 정의. 뷰에 대한 쿼리가 이루어질 때마다 시스템이 먼저를 얻습니다.뷰 정의 질문카탈로그에서 벗어나 이전 보기를 구체화합니다. 사용자 쿼리 진행(참조심코빅스, 1998자세한 내용은 설명). 시스템 카탈로그에 대한 자세한 내용은 다음을 참조하세요. 에게날짜, 1994.
이 섹션에서 우리는 방법을 간략히 설명하겠습니다.스포츠 토토 결과호스트 언어에 내장될 수 있습니다(예:C). 우리가 여기에는 두 가지 주요 이유가 있습니다. 사용하고 싶습니다스포츠 토토 결과호스트로부터 언어:
순수를 사용하여 공식화할 수 없는 쿼리가 있습니다스포츠 토토 결과(즉, 재귀 쿼리). 이러한 쿼리를 수행하려면 호스트 언어가 필요합니다. 보다 표현력이 뛰어납니다.스포츠 토토 결과.
우리는 단순히 일부 데이터베이스에서 데이터베이스에 액세스하고 싶습니다. 호스트 언어로 작성된 애플리케이션(예: 그래픽 사용자 인터페이스를 갖춘 티켓 예약 시스템 C로 작성되어 있으며 티켓에 대한 정보는 아직 남아 있는 정보는 액세스할 수 있는 데이터베이스에 저장되어 있습니다. 임베디드 사용스포츠 토토 결과).
임베디드를 사용하는 프로그램스포츠 토토 결과에 호스트 언어는 호스트 언어의 명령문으로 구성됩니다. 의내장됨스포츠 토토 결과 (E스포츠 토토 결과) 진술. 모든E스포츠 토토 결과문장 키워드로 시작함EXEC 스포츠 토토 결과. 그만큼E스포츠 토토 결과문은 다음과 같이 변환됩니다. a의 호스트 언어 설명프리컴파일러(일반적으로 다음 호출을 삽입합니다. 다양한 작업을 수행하는 라이브러리 루틴스포츠 토토 결과명령).
전체 예시를 살펴보면선택우리는 쿼리 결과는 튜플 집합인 경우가 많습니다. 대부분의 호스트 언어는 세트에서 작동하도록 설계되지 않았으므로 튜플 집합의 모든 단일 튜플에 액세스하는 메커니즘 SELECT 문에 의해 반환됩니다. 이 메커니즘을 제공할 수 있습니다. a를 선언하여커서. 그 후 우리는 FETCH 명령을 사용하여 튜플을 검색하고 설정할 수 있습니다. 다음 튜플로 커서를 이동합니다.
임베디드에 대한 자세한 토론스포츠 토토 결과참조데이트와 다웬, 1997, 날짜, 1994또는울먼, 1988.