|
|
1
4 Y* M& R# g6 ^& u' {4 Y现有表bill和表payment结构如下,两表通过pay_id关联:
( `2 {5 K6 p9 f ^( e) w; ybill表――bill_id是帐单标识,charge为帐单金额,pay_id为付款编号,PK:bill_id* r6 n. X- G+ f& ?7 C/ _& Y4 h
bill_id INTEGER9 @8 n& C) |2 T( O/ i8 ~9 g7 C! _! t
charge INTEGER
+ o x, ~& G6 R& U5 x7 upay_id INTEGER
o( @4 J5 e8 H2 u$ s' D: d3 k, r
% G* o- q4 }6 M1 }8 Wpayment表――pay_id为付款编号,charge为付款金额,PK:pay_id
4 L: u- S* H7 ]+ Mpay_id INTEGER
+ @' {. t; r# `charge INTEGER
$ d. L* i4 x/ O+ j- |6 N. j" B0 n
& ~- u9 i# C0 M$ T, l( |. z要求更新payment使charge=bill表中同一pay_id的charge之和。
$ m' P$ }; w X$ z; a; v9 n; U7 A: A: N4 Y9 H: o
27 l7 I7 Z' U/ @1 e8 I# i
起始地 目的地 距离(公里)
$ f: U5 z( G" GA B 1000
& {9 P9 p0 Y/ W; d# ]A C 11001 n; X$ N2 r. J- y9 B
A D 9009 c9 b3 n0 I% L& n& A8 q2 ?2 A+ q
A E 400' |1 a% c6 W L$ L
B D 300' u8 o8 N+ l4 f, V1 ? h2 P
D F 600! y2 ]* R/ q" s5 W9 h
E A 400
/ P$ z) v+ Z5 a/ _9 k+ W# KF G 1000
5 J5 @- P2 |! l/ M* pC B 600/ P2 j2 C9 d S# O7 @
请用SQL语句或一段代码写出从A出发,可达到的目的地(包括间接方式)。
# x- c2 Z5 _6 V+ q& R+ G T7 O2 U% T8 f- V' p$ x4 R
3
. l; c( T; I& }* t |表A定义如下:
# x. c- S* C# v$ h: O: q属性 类型 备注
) d; S8 l% P( y! k8 g3 FId Integer PK( C2 l! Q5 ], N
Name Varchar(30)5 Z3 _* e6 w2 D. o7 |+ _8 \; o# f
State char(3)+ L, ]9 A8 F4 I G
表A中现有1000万条记录,如果客户端要通过分页的方式从表A中取数据,其中每页20条
' i6 l& X& t. {8 `5 v记录,有几种方法?描述每种方法如何处理,有什么优缺点?用SQL写出实现代码。( k% ] ]1 H9 ]# H2 V5 m" G
- d+ U- I6 S5 S5 Z; M
44 d$ l4 ~) R5 g5 ?* |
表A定义如下:
' m+ ~+ _+ b |0 d- Z& h. Y属性 类型! M, s) N3 h6 Y3 V, {
Year Integer2 y: ?, p1 Q9 l7 }# B& }
Quarter Varchar(30)
, K. S! ^" T) KAmount float5 h3 K' H% w$ a4 v0 E
% d0 N7 `4 O; G/ \( y' L! cYear Quarter Amount
+ [$ {1 q3 @: b& \; D2 {, b2000 1 1.1& {" a& c+ t; i6 D/ Z8 T9 v
2000 2 1.2
( N6 D: U" b# g' }8 ?' |2000 3 1.3- V2 @% F$ Q1 g/ [ c' q
2000 4 1.4
5 }/ F: s# Z/ A9 X. R g; Q8 P2001 1 2.11 g F5 l+ o9 |' M3 y; g
2001 2 2.29 I3 D! V& t* i! P' f
2001 3 2.3
/ W! x0 w$ H6 [) X4 V. ~1 |8 c2001 4 2.4/ T4 Y; |' W. R4 v" g8 p; K
其中每行表表示一个季度的数据。; A1 |, |' U) b! I! b; H9 z
( S7 g/ C; b! i2 n$ C1 ?
如果处理表A中的数据,得到如下的结果。
, }+ g; \5 X- ~Year Quarter1 Quarter2 Quarter3 Quarter4
( x3 f9 u. }; r% G1 [2000 1.1 1.2 1.3 1.4
& ^( l% ]1 q6 M# b3 I' T8 r2001 2.1 2.2 2.3 2.4
7 v: W$ Y) L9 z* Z4 E请用SQL写一段代码实现。 |
|