Лаврентев Освоение СQЛ 2009
.pdf91
DEMO@ORCL>SELECT * FROM sales_order;
ORDER_ID |
|
CUSTOMER_ID |
TOTAL |
ORDER_DATE |
SHIP_DATE |
|
|
---------- ----------- |
----------- ----------- |
---------- |
|
610 07-jan-1991 |
|
101 08-jan-1991 |
101,4 |
611 11-jan-1991 |
|
102 11-jan-1991 |
45 |
612 15-jan-1991 |
|
104 20-jan-1991 |
5860 |
601 16-nov-1990 |
|
106 30-nov-1990 |
60,8 |
602 05-jun-1990 |
|
102 20-jun-1990 |
56 |
600 01-may-1990 |
103 29-may-1990 |
42 |
|
604 15-jun-1990 |
|
106 30-jun-1990 |
642 |
605 14-jul-1990 |
|
106 30-jul-1990 |
8374 |
606 14-jul-1990 |
|
100 30-jul-1990 |
3,4 |
609 01-aug-1990 |
|
100 15-aug-1990 |
102,5 |
607 18-jul-1990 |
|
104 18-jul-1990 |
5,6 |
608 25-jul-1990 |
|
104 25-jul-1990 |
35,2 |
603 05-jun-1990 |
|
102 05-jun-1990 |
224 |
620 12-mar-1991 |
|
100 12-mar-1991 |
4450 |
613 01-feb-1991 |
|
108 01-feb-1991 |
6400 |
614 01-feb-1991 |
|
102 05-feb-1991 |
23940 |
616 03-feb-1991 |
|
103 10-feb-1991 |
764 |
619 22-feb-1991 |
|
104 04-mar-1991 |
1260 |
617 05-feb-1991 |
|
105 03-mar-1991 |
46370 |
615 01-feb-1991 |
|
107 06-feb-1991 |
710 |
618 15-feb-1991 |
|
102 06-mar-1991 |
3083 |
621 15-mar-1991 |
|
100 01-apr-1991 |
730 |
509 04-jun-1989 |
|
226 10-jun-1989 |
1174 |
523 13-feb-1990 |
|
226 13-feb-1990 |
1165 |
549 27-dec-1990 |
|
226 14-jan-1991 |
1620 |
507 26-may-1989 |
228 27-may-1989 |
886 |
|
516 30-sep-1989 |
|
228 03-oct-1989 |
1815 |
553 02-feb-1991 |
|
228 13-feb-1991 |
4400 |
526 04-mar-1990 |
|
221 07-mar-1990 |
7700 |
543 04-sep-1990 |
|
221 07-sep-1990 |
8400 |
555 04-mar-1991 |
|
221 07-mar-1991 |
8540 |
559 16-nov-1990 |
|
222 23-apr-1991 |
387,2 |
528 24-mar-1990 |
|
224 24-mar-1990 |
3770 |
531 31-mar-1990 |
|
224 02-apr-1990 |
1400 |
558 31-mar-1991 |
|
224 02-apr-1991 |
1700 |
525 28-feb-1990 |
|
225 03-mar-1990 |
377 |
552 02-feb-1991 |
|
223 07-feb-1991 |
555,8 |
556 10-mar-1991 |
|
223 12-mar-1991 |
85 |
560 25-apr-1991 |
|
223 25-apr-1991 |
72 |
565 01-jun-1991 |
|
227 03-jun-1991 |
4900 |
574 10-oct-1991 |
|
201 12-oct-1991 |
1685 |
576 13-oct-1991 |
|
201 18-oct-1991 |
2058,9 |
503 25-mar-1989 |
|
201 06-apr-1989 |
1876 |
518 20-oct-1989 |
|
201 05-nov-1989 |
2932,5 |
517 23-oct-1989 |
|
201 07-nov-1989 |
784 |
544 11-sep-1990 |
|
202 15-sep-1990 |
2358 |
524 22-feb-1990 |
|
202 04-mar-1990 |
1979 |
502 10-feb-1989 |
|
202 23-feb-1989 |
500 |
539 26-jun-1990 |
|
202 03-jul-1990 |
1300 |
511 17-aug-1989 |
|
202 21-aug-1989 |
647 |
512 28-aug-1989 |
|
203 13-sep-1989 |
428 |
562 04-may-1991 |
203 19-may-1991 |
2044,5 |
|
529 02-apr-1990 |
|
203 05-apr-1990 |
1264,7 |
563 25-may-1991 |
204 26-may-1991 |
889 |
|
568 13-jul-1991 |
|
204 21-jul-1991 1217,4 |
|
504 11-apr-1989 |
|
204 12-apr-1989 |
1434,7 |
92
538 23-jun-1990 |
204 26-jun-1990 |
741 |
|||
535 28-may-1990 |
204 09-jun-1990 |
810 |
|||
578 19-nov-1991 |
204 04-dec-1991 |
2275,6 |
|||
534 11-may-1990 |
206 15-may-1990 |
420 |
|||
536 21-may-1990 |
206 06-jun-1990 |
2135,6 |
|||
572 19-aug-1991 |
206 24-aug-1991 |
1200,5 |
|||
514 05-sep-1989 |
207 16-sep-1989 |
1140 |
|||
521 20-nov-1989 |
207 23-nov-1989 |
896,9 |
|||
551 22-jan-1991 |
208 06-feb-1991 |
1142 |
|||
513 06-sep-1989 |
208 14-sep-1989 |
1497 |
|||
508 26-may-1989 |
208 08-jun-1989 |
1080 |
|||
515 19-sep-1989 |
208 26-sep-1989 |
1428,5 |
|||
542 11-aug-1990 |
208 23-aug-1990 |
2409 |
|||
573 10-oct-1991 |
201 12-oct-1991 |
1627 |
|||
566 09-jun-1991 |
201 12-jun-1991 |
3389,2 |
|||
520 16-nov-1989 |
201 19-nov-1989 |
341,6 |
|||
519 20-oct-1989 |
201 05-nov-1989 |
955 |
|||
575 04-oct-1991 |
201 17-oct-1991 |
684 |
|||
547 16-oct-1990 |
202 27-oct-1990 |
984,4 |
|||
540 15-jul-1990 |
202 17-jul-1990 |
861,2 |
|||
567 05-jul-1991 |
202 07-jul-1991 |
200 |
|||
570 17-jul-1991 |
202 24-jul-1991 |
663,6 |
|||
571 02-aug-1991 |
202 12-aug-1991 |
1095,6 |
|||
541 08-aug-1990 |
203 18-aug-1990 |
400 |
|||
532 08-apr-1990 |
203 21-apr-1990 |
1295,4 |
|||
527 27-feb-1990 |
204 14-mar-1990 |
3054,4 |
|||
501 06-jan-1989 |
204 11-jan-1989 |
216 |
|||
564 25-may-1991 |
204 26-may-1991 |
898,8 |
|||
537 14-jun-1990 |
204 26-jun-1990 |
672,9 |
|||
522 07-jan-1990 |
204 10-jan-1990 |
2578,8 |
|||
554 18-feb-1991 |
204 22-feb-1991 |
282,8 |
|||
569 16-jul-1991 |
205 23-jul-1991 |
2073 |
|||
550 27-jan-1991 |
205 07-feb-1991 |
2356 |
|||
548 26-nov-1990 |
205 12-dec-1990 |
666,9 |
|||
505 07-apr-1989 |
206 22-apr-1989 |
650 |
|||
577 06-oct-1991 |
206 20-oct-1991 |
1265,75 |
|||
533 28-apr-1990 |
206 02-may-1990 |
1122,1 |
|||
561 20-apr-1991 |
207 07-may-1991 |
2558,3 |
|||
506 27-apr-1989 |
208 10-may-1989 |
2600,4 |
|||
530 03-apr-1990 |
208 07-apr-1990 |
3026,5 |
|||
545 06-oct-1990 |
208 13-oct-1990 |
475 |
|||
557 08-mar-1991 |
208 12-mar-1991 |
2461,8 |
|||
546 17-oct-1990 |
208 23-oct-1990 |
3663 |
|||
510 18-jul-1989 |
208 21-jul-1989 1336,6 |
||||
100 rows selected. |
|
|
|
||
DEMO@ORCL>SELECT * FROM item; |
|
||||
ORDER_ID |
|
ITEM_ID PRODUCT_ID ACTUAL_PRICE QUANTITY TOTAL |
|||
---------- ---------- ---------- ------------ ---------- ---------- |
|||||
600 |
1 |
100861 |
42 |
1 |
42 |
610 |
3 |
100890 |
58 |
1 |
58 |
611 |
1 |
100861 |
45 |
1 |
45 |
612 |
1 |
100860 |
30 |
100 |
3000 |
601 |
1 |
200376 |
2,4 |
12 |
28,8 |
601 |
2 |
100860 |
32 |
1 |
32 |
602 |
1 |
100870 |
2,8 |
20 |
56 |
604 |
1 |
100890 |
58 |
3 |
174 |
604 |
2 |
100861 |
42 |
2 |
84 |
604 |
3 |
100860 |
32 |
12 |
384 |
603 |
1 |
100860 |
32 |
7 |
224 |
610 |
1 |
100860 |
35 |
1 |
35 |
93
610 |
2 |
100870 |
2,8 |
3 |
8,4 |
613 |
4 |
200376 |
2,2 |
200 |
440 |
614 |
1 |
100860 |
35 |
444 |
15540 |
614 |
2 |
100870 |
2,8 |
1000 |
2800 |
612 |
2 |
100861 |
40,5 |
20 |
810 |
612 |
3 |
101863 |
10 |
150 |
1500 |
620 |
1 |
100860 |
35 |
10 |
350 |
620 |
2 |
200376 |
2,4 |
1000 |
2400 |
620 |
3 |
102130 |
3,4 |
500 |
1700 |
613 |
1 |
100871 |
5,6 |
100 |
560 |
613 |
2 |
101860 |
24 |
200 |
4800 |
613 |
3 |
200380 |
4 |
150 |
600 |
619 |
3 |
102130 |
3,4 |
100 |
340 |
617 |
1 |
100860 |
35 |
50 |
1750 |
617 |
2 |
100861 |
45 |
100 |
4500 |
614 |
3 |
100871 |
5,6 |
1000 |
5600 |
616 |
1 |
100861 |
45 |
10 |
450 |
616 |
2 |
100870 |
2,8 |
50 |
140 |
616 |
3 |
100890 |
58 |
2 |
116 |
616 |
4 |
102130 |
3,4 |
10 |
34 |
616 |
5 |
200376 |
2,4 |
10 |
24 |
619 |
1 |
200380 |
4 |
100 |
400 |
619 |
2 |
200376 |
2,4 |
100 |
240 |
615 |
1 |
100861 |
45 |
4 |
180 |
607 |
1 |
100871 |
5,6 |
1 |
5,6 |
615 |
2 |
100870 |
2,8 |
100 |
280 |
617 |
3 |
100870 |
2,8 |
500 |
1400 |
617 |
4 |
100871 |
5,6 |
500 |
2800 |
617 |
5 |
100890 |
58 |
500 |
29000 |
617 |
6 |
101860 |
24 |
100 |
2400 |
617 |
7 |
101863 |
12,5 |
200 |
2500 |
617 |
8 |
102130 |
3,4 |
100 |
340 |
617 |
9 |
200376 |
2,4 |
200 |
480 |
617 |
10 |
200380 |
4 |
300 |
1200 |
609 |
2 |
100870 |
2,5 |
5 |
12,5 |
609 |
3 |
100890 |
50 |
1 |
50 |
618 |
1 |
100860 |
35 |
23 |
805 |
618 |
2 |
100861 |
45 |
50 |
2250 |
618 |
3 |
100870 |
2,8 |
10 |
28 |
621 |
1 |
100861 |
45 |
10 |
450 |
621 |
2 |
100870 |
2,8 |
100 |
280 |
615 |
3 |
100871 |
5 |
50 |
250 |
608 |
1 |
101860 |
24 |
1 |
24 |
608 |
2 |
100871 |
5,6 |
2 |
11,2 |
609 |
1 |
100861 |
40 |
1 |
40 |
606 |
1 |
102130 |
3,4 |
1 |
3,4 |
605 |
1 |
100861 |
45 |
100 |
4500 |
605 |
2 |
100870 |
2,8 |
500 |
1400 |
605 |
3 |
100890 |
58 |
5 |
290 |
605 |
4 |
101860 |
24 |
50 |
1200 |
605 |
5 |
101863 |
9,5 |
100 |
950 |
605 |
6 |
102130 |
3,4 |
10 |
34 |
612 |
4 |
100871 |
5,5 |
100 |
550 |
619 |
4 |
100871 |
5,6 |
50 |
280 |
509 |
1 |
105123 |
35 |
30 |
1050 |
509 |
2 |
105124 |
9 |
10 |
90 |
509 |
3 |
102136 |
3,4 |
10 |
34 |
523 |
1 |
102136 |
3,4 |
10 |
34 |
523 |
2 |
105123 |
37,7 |
30 |
1131 |
549 |
1 |
105123 |
38 |
5 |
190 |
549 |
2 |
105127 |
6 |
30 |
180 |
549 |
3 |
105125 |
3 |
200 |
600 |
94
549 |
4 |
105124 |
13 |
50 |
650 |
507 |
1 |
105123 |
35,3 |
20 |
706 |
507 |
2 |
105124 |
9 |
20 |
180 |
516 |
1 |
105124 |
9 |
60 |
540 |
516 |
2 |
102136 |
3,2 |
250 |
800 |
516 |
3 |
105125 |
1,9 |
250 |
475 |
553 |
1 |
105127 |
6 |
500 |
3000 |
553 |
2 |
200376 |
1,75 |
800 |
1400 |
526 |
1 |
105123 |
32 |
100 |
3200 |
526 |
2 |
105124 |
9 |
500 |
4500 |
543 |
1 |
105123 |
34 |
100 |
3400 |
543 |
2 |
105124 |
10 |
500 |
5000 |
555 |
1 |
105123 |
34 |
100 |
3400 |
555 |
2 |
105124 |
10 |
500 |
5000 |
555 |
3 |
102136 |
2,8 |
50 |
140 |
559 |
1 |
105123 |
40 |
5 |
200 |
559 |
2 |
105124 |
15 |
5 |
75 |
559 |
3 |
105127 |
6 |
5 |
30 |
559 |
4 |
102136 |
3,4 |
3 |
10,2 |
559 |
5 |
200376 |
2,4 |
30 |
72 |
528 |
1 |
105123 |
37,7 |
100 |
3770 |
531 |
1 |
105124 |
11 |
100 |
1100 |
531 |
2 |
102136 |
3 |
100 |
300 |
558 |
1 |
105124 |
14 |
100 |
1400 |
558 |
2 |
102136 |
3 |
100 |
300 |
525 |
1 |
105123 |
37,7 |
10 |
377 |
552 |
1 |
105123 |
40 |
10 |
400 |
552 |
2 |
105124 |
15 |
10 |
150 |
552 |
3 |
102136 |
3,4 |
1 |
3,4 |
552 |
4 |
200376 |
2,4 |
1 |
2,4 |
556 |
1 |
102136 |
3,4 |
25 |
85 |
560 |
1 |
200376 |
2,4 |
30 |
72 |
565 |
1 |
105123 |
37 |
100 |
3700 |
565 |
2 |
105124 |
12 |
100 |
1200 |
574 |
1 |
104350 |
41,8 |
25 |
1045 |
574 |
2 |
200380 |
3,2 |
200 |
640 |
576 |
1 |
104350 |
44 |
10 |
440 |
576 |
2 |
104351 |
26 |
10 |
260 |
576 |
3 |
104362 |
4,25 |
170 |
722,5 |
576 |
4 |
200376 |
2,16 |
90 |
194,4 |
576 |
5 |
200380 |
3,4 |
130 |
442 |
503 |
1 |
104350 |
38 |
30 |
1140 |
503 |
2 |
104351 |
23,6 |
10 |
236 |
503 |
3 |
104352 |
50 |
10 |
500 |
518 |
1 |
104350 |
38 |
25 |
950 |
518 |
2 |
104351 |
23,6 |
20 |
472 |
518 |
3 |
104360 |
36 |
20 |
720 |
518 |
4 |
104362 |
4,25 |
170 |
722,5 |
518 |
5 |
102134 |
3,4 |
20 |
68 |
517 |
1 |
104352 |
50 |
15 |
750 |
517 |
2 |
102134 |
3,4 |
10 |
34 |
544 |
1 |
104350 |
44 |
15 |
660 |
544 |
2 |
104351 |
26 |
15 |
390 |
544 |
3 |
104352 |
58,3 |
10 |
583 |
544 |
4 |
104361 |
50 |
10 |
500 |
544 |
5 |
104362 |
4,5 |
50 |
225 |
524 |
1 |
104350 |
42 |
10 |
420 |
524 |
2 |
104351 |
23,56 |
35 |
824,6 |
524 |
3 |
104362 |
4,25 |
150 |
637,5 |
524 |
4 |
102134 |
3,23 |
30 |
96,9 |
502 |
1 |
104352 |
50 |
10 |
500 |
539 |
1 |
104351 |
26 |
20 |
520 |
95
539 |
2 |
104360 |
39 |
20 |
780 |
511 |
1 |
104351 |
23,6 |
15 |
354 |
511 |
2 |
104362 |
4,5 |
50 |
225 |
511 |
3 |
102134 |
3,4 |
20 |
68 |
512 |
1 |
104360 |
36 |
10 |
360 |
512 |
2 |
102134 |
3,4 |
20 |
68 |
562 |
1 |
104351 |
24,7 |
25 |
617,5 |
562 |
2 |
104352 |
58,3 |
15 |
874,5 |
562 |
3 |
104362 |
4,25 |
130 |
552,5 |
529 |
1 |
104350 |
39,89 |
30 |
1196,7 |
529 |
2 |
102134 |
3,4 |
20 |
68 |
563 |
1 |
104352 |
58,3 |
10 |
583 |
563 |
2 |
200376 |
2,04 |
150 |
306 |
568 |
1 |
104351 |
24,7 |
30 |
741 |
568 |
2 |
200376 |
2,04 |
110 |
224,4 |
568 |
3 |
200380 |
3,6 |
70 |
252 |
504 |
1 |
104350 |
40 |
10 |
400 |
504 |
2 |
104351 |
22,42 |
35 |
784,7 |
504 |
3 |
104352 |
50 |
5 |
250 |
538 |
1 |
104351 |
24,7 |
30 |
741 |
535 |
1 |
104352 |
54 |
15 |
810 |
578 |
1 |
104350 |
41,8 |
40 |
1672 |
578 |
2 |
200376 |
2,04 |
190 |
387,6 |
578 |
3 |
200380 |
3,6 |
60 |
216 |
534 |
1 |
104350 |
42 |
10 |
420 |
536 |
1 |
104350 |
39,89 |
40 |
1595,6 |
536 |
2 |
104352 |
54 |
10 |
540 |
572 |
1 |
104351 |
24,7 |
25 |
617,5 |
572 |
2 |
104352 |
58,3 |
10 |
583 |
514 |
1 |
104350 |
38 |
30 |
1140 |
521 |
1 |
104350 |
40 |
20 |
800 |
521 |
2 |
102134 |
3,23 |
30 |
96,9 |
551 |
1 |
104350 |
44 |
10 |
440 |
551 |
2 |
104361 |
50 |
5 |
250 |
551 |
3 |
102134 |
3,4 |
20 |
68 |
551 |
4 |
200376 |
1,92 |
200 |
384 |
513 |
1 |
104350 |
40 |
15 |
600 |
513 |
2 |
104351 |
23,6 |
20 |
472 |
513 |
3 |
104362 |
4,25 |
100 |
425 |
508 |
1 |
104360 |
36 |
20 |
720 |
508 |
2 |
104362 |
4,5 |
80 |
360 |
515 |
1 |
104350 |
40 |
20 |
800 |
515 |
2 |
104351 |
22,42 |
25 |
560,5 |
515 |
3 |
102134 |
3,4 |
20 |
68 |
542 |
1 |
104350 |
41,8 |
25 |
1045 |
542 |
2 |
104360 |
39 |
20 |
780 |
542 |
3 |
104361 |
50 |
11 |
550 |
542 |
4 |
102134 |
3,4 |
10 |
34 |
573 |
1 |
103120 |
22,5 |
50 |
1125 |
573 |
2 |
103131 |
4,04 |
50 |
202 |
573 |
3 |
103141 |
20 |
15 |
300 |
566 |
1 |
103120 |
23,75 |
40 |
950 |
566 |
2 |
103121 |
27 |
50 |
1350 |
566 |
3 |
103130 |
3,77 |
60 |
226,2 |
566 |
4 |
103131 |
3,9 |
170 |
663 |
566 |
5 |
103141 |
20 |
10 |
200 |
520 |
1 |
103130 |
4 |
10 |
40 |
520 |
2 |
103131 |
3,77 |
80 |
301,6 |
519 |
1 |
103130 |
3,5 |
110 |
385 |
519 |
2 |
103140 |
19 |
30 |
570 |
575 |
1 |
103140 |
19 |
30 |
570 |
575 |
2 |
200380 |
3,8 |
30 |
114 |
96
547 |
1 |
103130 |
3,77 |
80 |
301,6 |
547 |
2 |
103131 |
4,04 |
70 |
282,8 |
547 |
3 |
103140 |
20 |
15 |
300 |
547 |
4 |
103141 |
20 |
5 |
100 |
540 |
1 |
103130 |
3,98 |
40 |
159,2 |
540 |
2 |
103131 |
3,9 |
180 |
702 |
567 |
1 |
103140 |
20 |
10 |
200 |
570 |
1 |
103131 |
4,04 |
90 |
363,6 |
570 |
2 |
103140 |
20 |
15 |
300 |
571 |
1 |
103131 |
4,04 |
70 |
282,8 |
571 |
2 |
103140 |
19 |
25 |
475 |
571 |
3 |
102132 |
3,4 |
15 |
51 |
571 |
4 |
200376 |
2,16 |
80 |
172,8 |
571 |
5 |
200380 |
3,8 |
30 |
114 |
541 |
1 |
103140 |
20 |
10 |
200 |
541 |
2 |
103141 |
20 |
10 |
200 |
532 |
1 |
103120 |
21,59 |
60 |
1295,4 |
527 |
1 |
103120 |
21,59 |
60 |
1295,4 |
527 |
2 |
103121 |
27,35 |
40 |
1094 |
527 |
3 |
103140 |
19 |
35 |
665 |
501 |
1 |
103130 |
3,6 |
60 |
216 |
564 |
1 |
103130 |
3,77 |
80 |
301,6 |
564 |
2 |
103131 |
3,9 |
120 |
468 |
564 |
3 |
102132 |
3,23 |
40 |
129,2 |
537 |
1 |
103130 |
3,6 |
160 |
576 |
537 |
2 |
102132 |
3,23 |
30 |
96,9 |
522 |
1 |
103120 |
21,59 |
80 |
1727,2 |
522 |
2 |
103121 |
28,8 |
10 |
288 |
522 |
3 |
103131 |
4,04 |
90 |
363,6 |
522 |
4 |
103141 |
20 |
10 |
200 |
554 |
1 |
103131 |
4,04 |
70 |
282,8 |
569 |
1 |
103120 |
22,5 |
50 |
1125 |
569 |
2 |
103130 |
3,6 |
180 |
648 |
569 |
3 |
103141 |
20 |
15 |
300 |
550 |
1 |
103120 |
22,5 |
60 |
1350 |
550 |
2 |
103140 |
19 |
45 |
855 |
550 |
3 |
103141 |
20 |
5 |
100 |
550 |
4 |
102132 |
3,4 |
15 |
51 |
548 |
1 |
103140 |
19 |
30 |
570 |
548 |
2 |
102132 |
3,23 |
30 |
96,9 |
505 |
1 |
103130 |
3,5 |
100 |
350 |
505 |
2 |
103140 |
20 |
15 |
300 |
577 |
1 |
103121 |
30 |
20 |
600 |
577 |
2 |
103131 |
3,9 |
150 |
585 |
577 |
3 |
102132 |
3,23 |
25 |
80,75 |
533 |
1 |
103121 |
27,35 |
30 |
820,5 |
533 |
2 |
103130 |
3,77 |
80 |
301,6 |
561 |
1 |
103120 |
22,5 |
80 |
1800 |
561 |
2 |
103130 |
3,77 |
70 |
263,9 |
561 |
3 |
103141 |
20 |
15 |
300 |
561 |
4 |
200376 |
2,16 |
90 |
194,4 |
506 |
1 |
103120 |
20,88 |
80 |
1670,4 |
506 |
2 |
103130 |
3,5 |
180 |
630 |
506 |
3 |
103141 |
20 |
15 |
300 |
530 |
1 |
103121 |
25,91 |
50 |
1295,5 |
530 |
2 |
103130 |
3,6 |
200 |
720 |
530 |
3 |
103140 |
19 |
40 |
760 |
530 |
4 |
103141 |
20 |
10 |
200 |
530 |
5 |
102132 |
3,4 |
15 |
51 |
545 |
1 |
103140 |
19 |
25 |
475 |
557 |
1 |
103120 |
23,75 |
40 |
950 |
557 |
2 |
103121 |
30 |
10 |
300 |
97
557 |
3 |
103140 |
19 |
35 |
665 |
557 |
4 |
200376 |
2,16 |
80 |
172,8 |
557 |
5 |
200380 |
3,4 |
110 |
374 |
546 |
1 |
103120 |
22,5 |
50 |
1125 |
546 |
2 |
103121 |
30 |
20 |
600 |
546 |
3 |
103130 |
3,6 |
120 |
432 |
546 |
4 |
103131 |
3,9 |
140 |
546 |
546 |
5 |
103140 |
19 |
40 |
760 |
546 |
6 |
103141 |
20 |
10 |
200 |
510 |
1 |
103120 |
20,88 |
60 |
1252,8 |
510 |
2 |
103131 |
4,19 |
20 |
83,8 |
271 rows selected.
DEMO@ORCL>SELECT * FROM product;
PRODUCT_ID DESCRIPTION
---------- ------------------------------
100860 ACE TENNIS RACKET I
100861 ACE TENNIS RACKET II
100870 ACE TENNIS BALLS-3 PACK
100871 ACE TENNIS BALLS-6 PACK
100890 ACE TENNIS NET
101860 SP TENNIS RACKET
101863 SP JUNIOR RACKET
102130 RH: "GUIDE TO TENNIS"
200376 SB ENERGY BAR-6 PACK
200380 SB VITA SNACK-6 PACK
103120 WIFF SOFTBALL BAT I
103121 WIFF SOFTBALL BAT II
103130 WIFF SOFTBALL, SMALL
103131 WIFF SOFTBALL, LARGE
103140 WIFF SOFTBALL MITT (LH)
103141 WIFF SOFTBALL MITT (RH)
102132 RH: "GUIDE TO SOFTBALL"
104350 DUNK BASKETBALL INDOOR
104351 DUNK BASKETBALL OUTDOOR
104352 DUNK BASKETBALL PROFESSIONAL
104360 DUNK HOOP
104361 DUNK HOOP W/FIBERGLASS BOARD
104362 DUNK NETS - RAINBOW
102134 RH: "GUIDE TO BASKETBALL"
105123 YELLOW JERSEY BICYCLE HELMET
105124 YELLOW JERSEY BICYCLE GLOVES
105125 YELLOW JERSEY WATER BOTTLE
105126 YELLOW JERSEY BOTTLE CAGE
105127 YELLOW JERSEY FRAME PUMP
105128 YELLOW JERSEY SADDLE PACK
102136 RH: "GUIDE TO CYCLING"
31 rows selected.
DEMO@ORCL> SELECT * FROM price;
PRODUCT_ID LIST_PRICE MIN_PRICE START_DATE END_DATE
---------- ---------- ---------- ----------- -----------
100871 |
5 |
3,2 01-jan-1989 01-dec-1989 |
|
100890 |
58 |
46,4 |
01-jan-1989 |
100890 |
54 |
40,5 |
01-jun-1988 31-dec-1988 |
100860 |
35 |
28 01-jun-1990 |
|
100860 |
32 |
25,6 |
01-jan-1990 31-may-1990 |
100860 |
30 |
24 01-jan-1989 31-dec-1989 |
|
100861 |
45 |
36 01-jun-1990 |
98
100861 |
42 |
33,6 01-jan-1990 31-may-1990 |
|
100861 |
39 |
31,2 01-jan-1989 31-dec-1989 |
|
100870 |
3 |
2,4 |
01-jan-1990 |
100870 |
2 |
1,9 |
01-jan-1989 01-dec-1989 |
100871 |
6 |
4,8 |
01-jan-1990 |
101860 |
24 |
18 15-feb-1989 |
|
101863 |
13 |
9,4 15-feb-1989 |
|
102130 |
3 |
2,8 |
18-aug-1989 |
200376 |
2 |
1,75 15-nov-1990 |
|
200380 |
4 |
3,2 |
15-nov-1990 |
103120 |
23 |
18,6 01-jan-1989 31-dec-1989 |
|
103120 |
24 |
19,2 01-jan-1990 31-may-1990 |
|
103120 |
25 |
20 01-jun-1990 |
|
103121 |
28 |
22,3 01-jan-1989 31-dec-1989 |
|
103121 |
29 |
23 01-jan-1990 31-may-1990 |
|
103121 |
30 |
24 01-jun-1990 |
|
103130 |
4 |
3,5 |
01-jan-1989 31-dec-1989 |
103130 |
4 |
3,6 |
01-jan-1990 |
103131 |
4 |
3,6 |
01-jan-1989 31-dec-1989 |
103131 |
5 |
3,9 |
01-jan-1990 |
103140 |
20 |
15 15-feb-1989 |
|
103141 |
20 |
15 15-feb-1989 |
|
102132 |
3 |
2,8 |
18-aug-1989 |
104350 |
40 |
32 01-jan-1989 31-dec-1989 |
|
104350 |
42 |
33,6 01-jan-1990 31-may-1990 |
|
104350 |
44 |
35,3 01-jun-1990 |
|
104351 |
24 |
18,9 01-jan-1989 31-dec-1989 |
|
104351 |
25 |
19,8 01-jan-1990 31-may-1990 |
|
104351 |
26 |
20,8 01-jun-1990 |
|
104352 |
50 |
35 01-jan-1989 31-dec-1989 |
|
104352 |
54 |
37,8 01-jan-1990 31-may-1990 |
|
104352 |
58 |
40,8 01-jun-1990 |
|
104360 |
36 |
29,5 01-jan-1989 31-dec-1989 |
|
104360 |
39 |
32 01-jan-1990 |
|
104361 |
47 |
33 01-jan-1989 31-dec-1989 |
|
104361 |
50 |
35 01-jan-1990 |
|
104362 |
5 |
4 15-feb-1989 |
|
102134 |
3 |
2,8 |
16-aug-1989 |
105123 |
36 |
29 01-jan-1989 31-dec-1989 |
|
105123 |
38 |
32 01-jan-1990 31-may-1990 |
|
105123 |
40 |
34 01-jun-1990 |
|
105124 |
10 |
7,6 01-jan-1989 31-dec-1989 |
|
105124 |
12 |
9 |
01-jan-1990 31-may-1990 |
105124 |
15 |
10 01-jun-1990 |
|
105125 |
2 |
1,7 |
01-jan-1989 31-dec-1989 |
105125 |
3 |
2,6 |
01-jan-1990 |
105126 |
5 |
4,3 |
01-jan-1989 31-dec-1989 |
105126 |
6 |
5 01-jan-1990 |
|
105127 |
6 |
5 15-nov-1990 |
|
105128 |
10 |
8 |
15-nov-1990 |
102136 |
3 |
2,8 |
03-jun-1989 |
58 rows selected.
DEMO@ORCL>SELECT * FROM salary_grade; GRADE_ID LOWER_BOUND UPPER_BOUND
---------- ----------- -----------
1 |
700 |
1200 |
2 |
1201 |
1400 |
3 |
1401 |
2000 |
4 |
2001 |
3000 |
5 |
3001 |
9999 |
99
Приложение 3
Решения отдельных задач SQL олимпиады 2007г.
Московский энергетический институт (технический университет) совместно с Oracle СНГ, компанией «ФОРС» и институтом «Информика» Министерства образования и науки РФ в 2007 г. впервые в России организовали олимпиаду по языку SQL версии Oracle. Задания олимпиады уже после нее опубликованы без решений в интернете /5/. Почти все задания сформулированы для предметной области пользователя HR в поставляемой с СУБД Oracle базе данных. В настоящем приложении представлены отдельные, оцениваемые наибольшими баллами сложности, задания и возможные их решения (понятно, что одни и те же SQL запросы могут отрабатываться разным способом).
Задание 13 /5/
В задании используется таблица HR.EMPLOYEES.
Выбрать сведения о сотрудниках, имеющих оклады, начиная со 2-го ранга по сумме оклада и кончая 5-м. Ранг 1 имеет сотрудник или сотрудники с наибольшим окладом, т. е. находящиеся на первом месте по величине оклада. Выводимые столбцы:
1. Имя (First_name). 2. Фамилия (Last_name). 3. Название отдела. 4. Должность (Job_id).
5. Оклад (Salary). 6. Позиция по окладу (ранг).
Строки в выходной таблице должны быть упорядочены по позиции (рангу) оклада и по названию отдела и должности в возрастающем порядке.
Дополнительные требования к выполнению
Не использовать аналитические функции.
Для ранжирования использовать псевдостолбец ROWNUM. Сложность в баллах: 7.
Решение.
1. Составим подзапрос, в котором бы присутствовал ранг зарплаты и зарплата
SELECT ROWNUM rn1, A.salary FROM
(SELECT DISTINCT salary FROM employees ORDER BY salary DESC) A;
2.Результирующий запрос
SELECT EMP.first_name, EMP.last_name, DEPT.department_name, EMP.job_id, EMP.salary, D.rn1 s_rank FROM
employees EMP, departments DEPT, (SELECT ROWNUM rn1, A.salary FROM
(SELECT DISTINCT salary FROM employees ORDER BY salary DESC) A ) D
WHERE EMP.department_id=DEPT.department_id AND EMP.salary=D.salary
AND D.rn1 BETWEEN 2 AND 5
ORDER BY s_rank, DEPT.department_name, EMP.job_id
/
Задание 14 (на аналитические функции) /5/
В задании используется таблица HR.EMPLOYEES.
Вывести из таблицы HR.EMPLOYEES информацию о сотрудниках отделов
сномерами 10, 30, 50, 90. Вывод должен быть оформлен в таблицу, содержащую столбцы:
1.Сквозной порядковый номер сотрудника.
2.Порядковый номер сотрудника внутри отдела.
3.Номер отдела для данного сотрудника (Department_id).
4.Должность сотрудника (Job_id).
5.Фамилия сотрудника (Last_name).
6.Оклад (Salary).
7.Ранг зарплаты сотрудника в отделе (1-й самый высокооплачиваемый).
Строки в выводимой таблице должны удовлетворять следующим условиям:
1.Строки, представляющие сотрудников одного отдела, должны располагаться друг за другом.
2.Строки, представляющие сотрудников одного отдела, должны
100
располагаться в порядке убывания окладов.
Дополнительные требования к выполнению
Обратите внимание, что ранг в отделе зависит от нумерации в отделе. 3. Сложность в баллах: 6.
Решение.
SELECT rownum id, DENSE_RANK() OVER (partition by department_id ORDER BY rn1) id_in_dept, department_id, job_id, last_name, salary, salary_rank
FROM
(SELECT rownum rn1, department_id, job_id, last_name, salary, salary_rank FROM
(SELECT department_id, job_id, last_name,salary,
DENSE_RANK() OVER (partition by department_id ORDER BY salary DESC) salary_rank FROM employees
WHERE department_id in(10, 30, 50, 90)) a) b ORDER BY department_id, id_in_dept
/
Задание 17 /5/ Список с дублируемыми сотрудниками Текст задания:
имеется таблица с тремя столбами: именем, фамилией и коэффициентом размножения, созданная и загруженная следующим образом:
DROP TABLE emp_selected; CREATE table emp_selected (
First_name VARCHAR2(20) NOT NULL
,Last_name VARCHAR2(20) NOT NULL
,N INTEGER NOT NULL);
INSERT INTO emp_selected VALUES('Ellen', 'ABEL', 3); INSERT INTO emp_selected VALUES('Matthew', 'WEISS' ,5); commit;
Требуется написать запрос, выводящий на печать таблицу, содержащую строки с именами и фамилиями двух сотрудников. Число строк для каждого сотрудника
должно определяться коэффициентом размножения (столбец N исходной таблице). То есть должны быть 3 строки для сотрудника Ellen ABEL и 5 строк для
Matthew WEISS.
Строки должны быть объединены в группы и отсортированы по фамилии и имени. Кроме того, должны быть пронумерованы элементы внутри группы и присутствовать сквозная нумерация. Этот SELECT должен работать для произвольного количества строк в исходной таблице EMP_SELECTED.
В выходной таблице должны присутствовать следующие столбцы:
-сквозной номер строки по порядку;
-номер сотрудника в группе;
-имя (First_name);
-фамилия (Last_name).
Дополнительные требования к выполнению
Пример выходного отчѐта:
Сквозной № № в группе |
Имя |
Фамилия |
|
---------- |
---------- |
------------------- |
-------- |
1 |
1 |
Ellen |
ABEL |
2 |
2 |
Ellen |
ABEL |
3 |
3 |
Ellen |
ABEL |
4 |
1 |
Matthew |
WEISS |
5 |
2 |
Matthew |
WEISS |
6 |
3 |
Matthew |
WEISS |
7 |
4 |
Matthew |
WEISS |
8 |
5 |
Matthew |
WEISS |
8 rows selected.
Представленное решение без нумерации также засчитывается. Сложность в баллах: 10.