|
1
( t0 v0 c; W4 T9 C5 t现有表bill和表payment结构如下,两表通过pay_id关联:1 D2 f! z) Y7 K* {* W( O
bill表――bill_id是帐单标识,charge为帐单金额,pay_id为付款编号,PK:bill_id
0 b; x/ C2 ]( T* zbill_id INTEGER, A# d( G& ]5 t( {- j! s: G
charge INTEGER. s4 W$ _5 B6 L$ ^1 s4 n# U
pay_id INTEGER
6 e- S. f9 @- G6 J1 Z8 Q8 u* A5 c9 ?+ u2 p
payment表――pay_id为付款编号,charge为付款金额,PK:pay_id' \( s* Q; m I3 p6 Y7 S
pay_id INTEGER7 q! E9 m3 A- L
charge INTEGER
9 L; Y4 Z& ]8 G5 n( ]+ Z1 T3 g/ O) h0 u
要求更新payment使charge=bill表中同一pay_id的charge之和。
$ K7 }. f4 b' r: Q
# c' d5 B4 c/ a- C$ }, Q2# U! ]2 b+ N; d( Z- |+ o
起始地 目的地 距离(公里)" a M- H* J5 I ] A6 b" q) v
A B 1000: S5 t; `& A& s2 @- }6 J
A C 1100) N1 S& O7 C1 h; F5 c
A D 900# A) j8 u0 u/ i4 n: F3 W
A E 400. K; }* p/ z1 [- c: v* |( X! n3 t6 R
B D 3004 _/ N$ _' p1 _, U! m* H7 D4 I
D F 600
( T& g' Q1 E3 h: w- U# d2 N* XE A 400: K4 {$ s( j% z- K
F G 10002 [1 @ I0 U8 H. }; o
C B 6002 h% x( E) W% E$ P3 E
请用SQL语句或一段代码写出从A出发,可达到的目的地(包括间接方式)。
: m0 W4 }( A0 p* k$ B- f. Z4 i# k+ s1 d# c( H
3
7 h2 X/ ^6 w( ^8 M7 Z2 @* i- c表A定义如下:, r7 m/ v9 Y8 A
属性 类型 备注" b- G. X# n8 A7 K! v6 M* L
Id Integer PK0 U" [2 l, K6 Z9 |6 `1 |# a/ {
Name Varchar(30)
6 F/ B5 G" H- Z1 l9 T- p' eState char(3)
# L2 Y/ ^& H2 A6 D5 G9 c! [# |表A中现有1000万条记录,如果客户端要通过分页的方式从表A中取数据,其中每页20条9 K9 d( L1 P& ~
记录,有几种方法?描述每种方法如何处理,有什么优缺点?用SQL写出实现代码。
: X8 G! u1 ?/ G: i/ ]. p, V8 @6 E N& M7 Y2 r* U$ D3 |
4
! a9 F$ Q" k! n" a" N( A表A定义如下:
% P7 @8 m' I% [8 P属性 类型
( H$ \" A4 T; \- wYear Integer* x J* q3 ]* U6 ^2 F
Quarter Varchar(30)5 _8 [9 P1 z+ t2 m
Amount float8 D) M6 i: _& R- w1 w! n! r/ w4 r
1 h1 j( F! I/ d2 P5 B+ H
Year Quarter Amount
1 L7 g$ x& i. y) H* o2000 1 1.14 }1 r$ ` R$ `$ v+ D( c9 U
2000 2 1.24 B( l# ]4 Z0 u7 G
2000 3 1.3
; M2 O1 x5 q: ~, `( P( _2000 4 1.4
- x. I! a: W K; i4 Q2001 1 2.1& y- j, o4 `+ B6 q+ L. D# x
2001 2 2.2
# A* f2 c* B; D5 ]6 q) w4 G2 ?2 D2001 3 2.3
$ ~$ j ?' L8 Z+ ~ W7 w9 q2001 4 2.4
* @, M1 H5 L( ~' S其中每行表表示一个季度的数据。5 H/ M4 \! r0 D+ [
% F9 G* j* _$ i- I如果处理表A中的数据,得到如下的结果。
# P& @0 w; A: Y: W, p: U1 U, TYear Quarter1 Quarter2 Quarter3 Quarter4* w: S7 g( q4 W$ W
2000 1.1 1.2 1.3 1.4
3 F- i; X# z$ Z& i4 a) d6 c2001 2.1 2.2 2.3 2.4
1 e! z$ }! k+ i( t% m请用SQL写一段代码实现。 |
|