Professional Documents
Culture Documents
SQL ,
.
,
, . , , SQL
SQL . ,
SQL
. SQL
.
, ,
, ( 1 ):
, 1 :
, m n . m x n
, Am x n
[A]m x n
1 . ,
3 4. 1 3 3.
, .
Am x n aij, 1 i m
1 j n. a23
. , a23 .
a23 = 20.
:
1)
, (. m x n).
C = A + B m x n , cij = aij + bij 1 i m 1
j n.
:
(. A + B = B + A) (e.g., C + (D
+ E) = (C + D) + E).
2)
( ) (. k x l).
D = A B k x l dij = aij bij 1 i k
1 j l.
:
.
3) :
m x n , B
= kA, bij = kaij 1 i m 1 j n..
B = 5A :
4)
( ) ,
() () .
, , .
,
:
Amxn Bnxp = Cmxp
. i-ti ,
i-ti -toj .
:
1. .
2.
.
.............
. Ns .
, .
.
2 Amxn Bnxp = Cmxp ( i = 1, 2,
. . m, j =1, 2, . . p.).
2.
i- ":
= .
C = A B , :
(. AB BA). , 4,
A3x2 B2x4 , A3x2 B2x4 . ,
B2x4 A3x2 ,
. , AB BA ,
, :
- A(BC) = (AB)C
- A(B + C) = AB + AC
- (A + B)C = AC + BC
5)
.
, Amxn. ,
n x m , Bnxm,
:
aixj = bjxi, .
A AT.
:
/ SQL
SQL,
, A5x5 B5x5)
.
, .
SQL :
--ADDITION A+B
SELECT
A.[1] + B.[1] as [1],
A.[2] + B.[2] as [2],
A.[3] + B.[3] as [3],
A.[4] + B.[4] as [4],
A.[5] + B.[5] as [5]
FROM A INNER JOIN B ON A.row# = B.row#
Result:
1
2
3
4
5
---------------------------15
10
10
16
6
3
16
0
8
7
4
16
18
6
8
2
5
4
10
6
14
12
4
0
7
--=====================================
--SUBTRACTION AB
SELECT
A.[1] - B.[1] as [1],
A.[2] - B.[2] as [2],
A.[3] - B.[3] as [3],
A.[4] - B.[4] as [4],
A.[5] - B.[5] as [5]
FROM A INNER JOIN B ON A.row# = B.row#
Result:
1
2
3
4
5
-----------------------------21
0
-14
0
6
3
0
12
0
11
0
0
0
0
0
0
-13
4
0
-8
0
0
0
-18
-7
SQL
SQL
. ,
: .
:
1. .
2. .
3. .
, . ,
, A7x8 B8x9.
IF EXISTS(SELECT * FROM sysobjects
WHERE ID=(OBJECT_ID('A')) AND xtype ='U')
DROP TABLE A
GO
IF EXISTS(SELECT * FROM sysobjects
WHERE ID=(OBJECT_ID('B')) AND xtype ='U')
DROP TABLE B
GO
--===============================================
CREATE TABLE A(
row# int NOT NULL,
[1] int NOT NULL,
[2] int NOT NULL,
[3] int NOT NULL,
[4] int NOT NULL,
[5] int NOT NULL,
)
INSERT INTO A VALUES(1, -3, 5, -2, 8, 6, 8, 9, 0);
INSERT INTO A VALUES(2, 3, 8, 6, 4, 9, 3, 6, -7);
INSERT INTO A VALUES(3, 2, 8, 9, 3, 4, 3, 7, 9);
INSERT INTO A VALUES(4, 1, -4, 4, 5, 7, 9, 9, 5);
INSERT INTO A VALUES(5, 7, 6, 2, -9, 7, 9, 9, 6);
INSERT INTO A VALUES(6, 5, 2, 9, 6, 5, 8, 6, 8);
INSERT INTO A VALUES(7, 4, 0, 2, 5, 9, 5, 8, 3);
--==============================================
CREATE TABLE B(
row# int NOT NULL,
[1] int NOT NULL,
[2] int NOT NULL,
[3] int NOT NULL,
[4] int NOT NULL,
[5] int NOT NULL,
[6] int NOT NULL,
[7] int NOT NULL,
[8] int NOT NULL,
[9] int NOT NULL
)
INSERT INTO B VALUES(1,
INSERT INTO B VALUES(2,
INSERT INTO B VALUES(3,
INSERT INTO B VALUES(4,
INSERT INTO B VALUES(5,
INSERT INTO B VALUES(6,
INSERT INTO B VALUES(7,
INSERT INTO B VALUES(8,
Results:
--==================== Matrix A ========================
row#
1
2
3
4
5
6
7
8
-------------------------------------------------------1
-3
5
-2
8
6
8
9
0
2
3
8
6
4
9
3
6
-7
3
2
8
9
3
4
3
7
9
4
1
-4
4
5
7
9
9
5
5
7
6
2
-9
7
9
9
6
6
5
2
9
6
5
8
6
8
7
4
0
2
5
9
5
8
3
--======================== Matrix B ==========================
row#
1
2
3
4
5
6
7
8
9
-------------------------------------------------------------1
18
5
12
8
0
8
9
-2
1
2
0
8
-6
4
-2
3
6
5
6
3
2
8
9
3
4
3
7
4
9
4
1
9
0
5
7
9
-9
5
3
5
6
7
8
7
5
0
5
6
0
4
9
2
9
2
5
9
6
5
3
7
5
9
7
9
8
0
-3
9
6
8
0
6
8
6
2
8
9
1
6
[4],
[5],
[6],
[7],
[8],
[9]
FROM
(SELECT Row, Col, Val FROM product) t1
PIVOT (MAX(Val)
FOR Col IN ([1],[2],[3],[4],[5],[6],[7],[8],[9])
) AS pvt
ORDER BY Row;
Results:
--===================== Product-Matrix ========================
Row
1
2
3
4
5
6
7
8
9
--------------------------------------------------------------1
32
153
18
177
201
175
91
217
162
2
113
178
64
202
119
228
228
178
180
3
145
306
151
206
210
127
212
195
260
4
150
173
210
206
269
173
157
197
204
5
245
150
209
221
150
116
383
159
216
6
229
293
263
252
259
212
207
212
282
7
184
194
160
223
224
195
180
173
180
. 2 .
SQL .
,
.
SQL
,
, .
, ,